From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1D2E7C021BB for ; Wed, 26 Feb 2025 00:49:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7A3A26B0082; Tue, 25 Feb 2025 19:49:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 72BD16B0083; Tue, 25 Feb 2025 19:49:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5A52A6B0085; Tue, 25 Feb 2025 19:49:02 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 3A1C36B0082 for ; Tue, 25 Feb 2025 19:49:02 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id CDE4F805C5 for ; Wed, 26 Feb 2025 00:49:01 +0000 (UTC) X-FDA: 83160261282.08.2180EC9 Received: from mail-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52]) by imf25.hostedemail.com (Postfix) with ESMTP id E1629A0011 for ; Wed, 26 Feb 2025 00:48:59 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=b+woDfT1; spf=pass (imf25.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.160.52 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740530940; a=rsa-sha256; cv=none; b=akID3RLgIsBPvbucoajKtujGdabpDljTINSTjmi1u+nx1qyjLcHpx+9Ky9AyIQ1Qe9gcse GPm2was1v4MqWUmBYQxSTwULwjIy/CQZrFlA9xrJguAR1Aorwm+MbSY+r2VYkarG/vK397 QIYERkw2sK5hw9Fc+Bi4NnOSHcnjGMc= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=b+woDfT1; spf=pass (imf25.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.160.52 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740530940; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=AVjqrV9ooYY5XM2Ro6nNPVrSgDfeAb3Lv275HPJChck=; b=UthORXdNheUa52bTKdG9GfluVzZ3Je2WlmXYJd6GF+VvNYTJZ2jq9zydssmOCBWovPjtq0 row+aL3vZ6przpGh/w8JTkHPEnlu+PhCVTO1WpVEUc5i1fGNuOn5NDqKdeGC3Qh4mYjR6W SOMmncEDaocw7WxWx+p4/6iXEP4boz0= Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-2bcdce44e56so419634fac.0 for ; Tue, 25 Feb 2025 16:48:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1740530939; x=1741135739; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=AVjqrV9ooYY5XM2Ro6nNPVrSgDfeAb3Lv275HPJChck=; b=b+woDfT1xNTITzEwJXsdtMBeWYXOCKE9RepTeoQAPFkRZeNR+UOhgZ5p/R6GkH8gg3 DrZ65K25Y23TLHEP2ROv/Xq1MkAcWbfb8bzIypAcT1ImlWVyugqWuTJ27105AkLh+Rnr iSxgkhnUOOJSH1gFFLL07OrZMVG+vkl6hWa6w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740530939; x=1741135739; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AVjqrV9ooYY5XM2Ro6nNPVrSgDfeAb3Lv275HPJChck=; b=m7iSrK5eyHv3UeLT9clqpcVignG56T3g1UFIVLRqSd49wvFsyjvmKRLIDt19NYDqht 2Xl26RPSEfGZpreJLm6h9UF29P4rR0OdgoQuHyotIqdJTMaW+Ewo8Cxw6sZafqOR1DBb H4MzQ8F1Vcn5LhdBDs8Vcg+aT8VU4Jw4V2VUW6CpxWovzNmwormfu+U+SxaRnr/3FZ/i itdpx3iIJ9HWv5rNzYqssiGcTd13nPMQhF7XaVKcL2/x+m6fhUF3S4G8FiNkydaYIwT4 krB11Qh/zo8aZ8LzOfgTJkDGMT1eXAsfZ8nktL3WdIlg4LopRul3U2QMS3zkDzPBMriu Ac8w== X-Forwarded-Encrypted: i=1; AJvYcCXWQoqYnTaTziBEIbiFhxmGkCIFyZNJGmDd7l1GR64cL2DhO0ZaHp0XdYUpzndcMHkrqNsOnuFPSw==@kvack.org X-Gm-Message-State: AOJu0YwqDCDkqM6zZFGfa/JgFoIgjkX91ORWrIZoWcMv5Rfyl0n9Ykiv AKEH7SqWvuGgRB3zUhHSZE59DDuL83PWmd8UoB/9JHw+jFdhgjkHi36yZHjtygqb0u5GvnKrzlm VJpT/sPgtWTIlsMgH/dxG0fsDnweDnOVUmvM0 X-Gm-Gg: ASbGnctquX6zTs/A2KmwoGvpHvplfUisILrNm+M2jLhq997MMR1BfAvHigvMnQ+YWBT 0tpd5sDSB/+ce2pPMu1W+s7qKbn/KGdyzO/ISMqhje8NbwBCobM0IbTT73RzFZxyO7QhZvnN8oF 4EvhTLAzKuJ2jA8cI+N0CKiLKhQw4NWxOfSAM= X-Google-Smtp-Source: AGHT+IGZbr9C3fw/M80D7U25WXvQ+YkVYOhFcuvGjWOO46noie5b+33k+LuPnjzb/dFNh57i49Vsajbe1fap9TbizXk= X-Received: by 2002:a05:6808:2109:b0:3f4:159d:a27e with SMTP id 5614622812f47-3f4247df7a0mr5851557b6e.8.1740530938691; Tue, 25 Feb 2025 16:48:58 -0800 (PST) MIME-Version: 1.0 References: <20250224225246.3712295-1-jeffxu@google.com> <20250224225246.3712295-4-jeffxu@google.com> <20250225085728-24167715-8562-45a8-86cd-0ea503e4bc73@linutronix.de> In-Reply-To: <20250225085728-24167715-8562-45a8-86cd-0ea503e4bc73@linutronix.de> From: Jeff Xu Date: Tue, 25 Feb 2025 16:48:47 -0800 X-Gm-Features: AQ5f1JrsyQpU8D8-7sqmxrCWx44j7l_vFI1HjJFXH5LWUwsT0KeRVBq5_z7J_YU Message-ID: Subject: Re: [PATCH v7 3/7] mseal, system mappings: enable x86-64 To: =?UTF-8?Q?Thomas_Wei=C3=9Fschuh?= Cc: akpm@linux-foundation.org, keescook@chromium.org, jannh@google.com, torvalds@linux-foundation.org, vbabka@suse.cz, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, adhemerval.zanella@linaro.org, oleg@redhat.com, avagin@gmail.com, benjamin@sipsolutions.net, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org, linux-mm@kvack.org, jorgelo@chromium.org, sroettger@google.com, hch@lst.de, ojeda@kernel.org, adobriyan@gmail.com, johannes@sipsolutions.net, pedro.falcato@gmail.com, hca@linux.ibm.com, willy@infradead.org, anna-maria@linutronix.de, mark.rutland@arm.com, linus.walleij@linaro.org, Jason@zx2c4.com, deller@gmx.de, rdunlap@infradead.org, davem@davemloft.net, peterx@redhat.com, f.fainelli@gmail.com, gerg@kernel.org, dave.hansen@linux.intel.com, mingo@kernel.org, ardb@kernel.org, mhocko@suse.com, 42.hyeyoo@gmail.com, peterz@infradead.org, ardb@google.com, enh@google.com, rientjes@google.com, groeck@chromium.org, mpe@ellerman.id.au, aleksandr.mikhalitsyn@canonical.com, mike.rapoport@gmail.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: E1629A0011 X-Stat-Signature: k86q47ixqnz4gd84zixn4agtf75bbywr X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1740530939-263893 X-HE-Meta: U2FsdGVkX18tek3FspH7UcmhFiF1OBBq62nVGqKC/MgJyzUR6Upo4mYZLOaljVBepjgWRsgIQ8XrVo5B290oBJttZ78v8aoGULOBPSv6/gVjOnmJU1wdatMUvui2+7qnspJvHoW0EqEB3uYwTv+IHhaPmGPXjxzBGtal8k885cbg1PGRAa4qY857E77flXo52IfDGEGr4oSvqa4MKk40ZrOQ3EIgRRDIkRfznvC9CW5eG4vlAoNR4MWrQ3fhWctAhrj8yia2dIlF15x8g8QRoPJ0HtfOtGSAwJjHAHpEwvGbvdmezgccoo7Gz3zo18j14GJclsn7qwkepw3xvqG+vviGhPS3fD7jFGfa/G+YG/2egoWwCn3QJQp3X3mmrmxzxFmqRc2EZuqR+U1YaozyKnnGgnTFGN8RP8nGlWhfT2dKpr3S1jK/DMLt2sUlwtphenZy4W1T/aaEbQTk65b6s1CaxqVdddUwwUoE5BHhvJVpMTBztOgCtAkRNxA9b+HJ4ZJrFArwWYtQDbLB0Q+ANnmmBwgXg5365xnuq08lAw06Yf4UkOfPytD81058gZl/j/NywLjbWAqB8sWfHjlLMZeg+zUeOAfY6uutUi8tZqo+ZHLP322XNoomDSzoyk7qagBjonIfstxTNYJjEuOx9Cmw+FLEEI7pwgFo/bFwfc+bdjM4hFtJYPSuCR6Wpe08z+7lMDueXSZfUWslYcBisrLXbJBcGcsT+vQABCgBWUXdh4WWoo3CPkVi0R+nZ3Oz+oSBImClvqAV4BvYmEfzjgJdB7VrIT78wTIBzbJDtqsswODEN9SUePW8magAZPJun2Dq/oOWzJhxkZUQqp4ubDrHsbudqhHOPw0YLfC3N6awoqyz0ZbRYbvZevOv/qnLZT+9O6Kqsz/QQAYkV10BxSrrr9OFurBcF98dvrO6mIWl7xlQRZCzEvt19IJCDs+onQf+Zw40WnFwjbRRN4d j7E4ExoK /nrj9HYl+2LpgBzkyz0ycwSjHYh4VDA3PYz3ko+JEBQNpMWWop7o/mHPssTjHQ1IVlp2jKmtwkqDZ1W/U3vJDhY4XZKyo4StJGyZKwBFhINGG4YFgH7k1QgdlfcDfuJ2xW8XpYPptfBbyiTyvWEhwoL8aaZYDv+veS0XuokSIseRxkBRlkmB4UIVw3vrU+nUYMTCQJW2zosUf0MGfhYZqsFj3iNYNbkOhhGqtMzGlIIKrvW9+4VmZliArNnMHtv6A25ycPa7tfyVygn5tEWLvr+p9xHTGkR05fe44TGIsGvUCskG+/Sfx9FVq6QxbNXEFDbLl X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Feb 25, 2025 at 12:08=E2=80=AFAM Thomas Wei=C3=9Fschuh wrote: > > Hi Jeff, > > On Mon, Feb 24, 2025 at 10:52:42PM +0000, jeffxu@chromium.org wrote: > > From: Jeff Xu > > > > Provide support for CONFIG_MSEAL_SYSTEM_MAPPINGS on x86-64, > > covering the vdso, vvar, vvar_vclock. > > > > Production release testing passes on Android and Chrome OS. > > > > Signed-off-by: Jeff Xu > > --- > > arch/x86/Kconfig | 1 + > > arch/x86/entry/vdso/vma.c | 16 ++++++++++------ > > 2 files changed, 11 insertions(+), 6 deletions(-) > > > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > > index 87198d957e2f..8fa17032ca46 100644 > > --- a/arch/x86/Kconfig > > +++ b/arch/x86/Kconfig > > @@ -26,6 +26,7 @@ config X86_64 > > depends on 64BIT > > # Options that are inherently 64-bit kernel only: > > select ARCH_HAS_GIGANTIC_PAGE > > + select ARCH_HAS_MSEAL_SYSTEM_MAPPINGS > > select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 > > select ARCH_SUPPORTS_PER_VMA_LOCK > > select ARCH_SUPPORTS_HUGE_PFNMAP if TRANSPARENT_HUGEPAGE > > diff --git a/arch/x86/entry/vdso/vma.c b/arch/x86/entry/vdso/vma.c > > index 39e6efc1a9ca..1b1c009f20a8 100644 > > --- a/arch/x86/entry/vdso/vma.c > > +++ b/arch/x86/entry/vdso/vma.c > > @@ -247,6 +247,7 @@ static int map_vdso(const struct vdso_image *image,= unsigned long addr) > > struct mm_struct *mm =3D current->mm; > > struct vm_area_struct *vma; > > unsigned long text_start; > > + unsigned long vm_flags; > > int ret =3D 0; > > > > if (mmap_write_lock_killable(mm)) > > @@ -264,11 +265,12 @@ static int map_vdso(const struct vdso_image *imag= e, unsigned long addr) > > /* > > * MAYWRITE to allow gdb to COW and set breakpoints > > */ > > + vm_flags =3D VM_READ|VM_EXEC|VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC; > > + vm_flags |=3D VM_SEALED_SYSMAP; > > vma =3D _install_special_mapping(mm, > > text_start, > > image->size, > > - VM_READ|VM_EXEC| > > - VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC, > > + vm_flags, > > &vdso_mapping); > > > > if (IS_ERR(vma)) { > > @@ -276,11 +278,12 @@ static int map_vdso(const struct vdso_image *imag= e, unsigned long addr) > > goto up_fail; > > } > > > > + vm_flags =3D VM_READ|VM_MAYREAD|VM_IO|VM_DONTDUMP|VM_PFNMAP; > > + vm_flags |=3D VM_SEALED_SYSMAP; > > vma =3D _install_special_mapping(mm, > > addr, > > (__VVAR_PAGES - VDSO_NR_VCLOCK_PAG= ES) * PAGE_SIZE, > > - VM_READ|VM_MAYREAD|VM_IO|VM_DONTDU= MP| > > - VM_PFNMAP, > > + vm_flags, > > &vvar_mapping); > > This hunk (and the vvar mapping in the arm64 patch) will conflict with my > "Generic vDSO datapage" series. > That series is already part of the tip tree (branch timers/vdso) and sche= duled > for the next merge window. > > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/log/?h=3Dtime= rs/vdso > > The conflict resolution is fairly easy: > Move the new flag logic into lib/vdso/datastore.c > Thank you for bringing this to my attention. In your change, it seems lib/vdso/datastore.c implements a vdso_install_vvar_mapping(), then all the architectures call this function. So merging conflict won't be as straightforward. Maybe a better approach is that I continue resolving all the comments, based on the latest main. Then wait for your change to be merged and submit another version. Thanks -Jeff -Jeff