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 39828C3DA42 for ; Wed, 17 Jul 2024 04:26:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1FE8F6B0082; Wed, 17 Jul 2024 00:26:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 188D26B0083; Wed, 17 Jul 2024 00:26:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 027C26B0085; Wed, 17 Jul 2024 00:26:00 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id CEFF86B0082 for ; Wed, 17 Jul 2024 00:26:00 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 191CE1A0607 for ; Wed, 17 Jul 2024 04:26:00 +0000 (UTC) X-FDA: 82347956880.12.3044038 Received: from mail-oa1-f48.google.com (mail-oa1-f48.google.com [209.85.160.48]) by imf26.hostedemail.com (Postfix) with ESMTP id 4B2A514000C for ; Wed, 17 Jul 2024 04:25:57 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=VOvowRJQ; spf=pass (imf26.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.160.48 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=1721190318; 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=ckcdu+nL5/2prVf55dHz90ZAAt933OlZUTny+cDg+yc=; b=KVFxckMNuEk15vwqcjt90DK9OK6zvbtVEt8NdXc8Ls3pag9/9brNKbjRl1ecI76x24cJMO cSaoz3GMp0IPDXVjGhdAshy5ICZW4DyQSOjwCY4ZFcldjaBQX/Or3LVw5oZhUgOTE/N4tr B+qE3n3UbmqV9A+MUbMikJfFGYLhQWQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721190318; a=rsa-sha256; cv=none; b=LE9HEsGz8bVSho1cfdeH8ChpSLVEzNl6G05e9ALQXJXef5yt6DFJ9HtIHkuBhUdjwndjNx 3lnKw7dZ6+6niBv4Ou25kHyfIaVwoWGXYwc9q10+90BqUbzEr/d2ioFEhajy5xs31dxajz 8CMaq9t5DFtO4tQbJWSbdUWMOrev6Qo= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=VOvowRJQ; spf=pass (imf26.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.160.48 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org Received: by mail-oa1-f48.google.com with SMTP id 586e51a60fabf-25cba5eea69so3167057fac.2 for ; Tue, 16 Jul 2024 21:25:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1721190356; x=1721795156; 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=ckcdu+nL5/2prVf55dHz90ZAAt933OlZUTny+cDg+yc=; b=VOvowRJQBNn634IsepjOVZ+BHCz1OOdhCdwmC2vxYSSuQck2P5qLUgbwsgyyMzUnRq QV0JZG5njcMjFGNjaYKO9Re/jnsKFgI5GY8AxqycAZxmdMJAkU4rxzfkxTb/jRAn/+Iw 83zrAe3OD8w51jeKdlBySVVqYSN8UeAr16k1M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721190356; x=1721795156; 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=ckcdu+nL5/2prVf55dHz90ZAAt933OlZUTny+cDg+yc=; b=imNCXHbvcmiNk7lSrZ5ynlq4w2jpTapb2RvhXZlF00yTIcDF016rVySQmk0ofX/QLG XpYfnp86mC52DwDfBHCPECZpR6VBhCZiFDxRGowY5Bv882ZMEX2sKajiMiuuqgiv5p9d bYZaKgfhU3nojrfk9e1pT5nRVVXFExrHTUUqyujPsjgvqF8Cr3Rp5z1oSDWUq6emvgbT iH44RbXZQ42rN6SCnMKuN65kbpZ5/T7OoIPmIMS9PSxCW+8FoeQU4JMS6hiUvHHL76YE SOfM/9kPhL3I+5cmG8Wq+vxV93+psUfAvQgc2O2Zfiuvl03k5uz+FFxIQoIi7slkFYj5 Puog== X-Forwarded-Encrypted: i=1; AJvYcCXduF6mGenq/zmg2VDgCM6BhcprXxDpx4WlNW+xPbsW3D7dFvpBZJwgQX15Snx9CJB97I1XvnsmphS2+r4ahr8z2d0= X-Gm-Message-State: AOJu0YylrAddpslKOO25VFeDASTvdu1q4CzdOo8gUtB8sbY/I/oWAIum CtPAGCC8W22X81Zpw6gduEqLKEQTjVlHxMPN++HAo6y/lFBhnJQh6NupWFTFvnCpcPl3GlmMIHM 4ltO2/CxLqh6jUySsMPkpjE9XecE3NFShJXPQ X-Google-Smtp-Source: AGHT+IExImqpiMIOVhDtSbQ5NdK6ILtYf2QIdhgG4sC5Xzh7NZjktXiyJRHNrL0ehdlZ0zfogQcl/EixdSoURf2Ql84= X-Received: by 2002:a05:6870:e0c9:b0:24f:d12a:5f1c with SMTP id 586e51a60fabf-260d948e317mr393907fac.53.1721190356102; Tue, 16 Jul 2024 21:25:56 -0700 (PDT) MIME-Version: 1.0 References: <20240627211737.323214-1-aruna.ramakrishna@oracle.com> In-Reply-To: <20240627211737.323214-1-aruna.ramakrishna@oracle.com> From: Jeff Xu Date: Tue, 16 Jul 2024 21:25:44 -0700 Message-ID: Subject: Re: [PATCH v6 0/5] x86/pkeys: update PKRU to enable pkey 0 before To: Aruna Ramakrishna Cc: linux-kernel@vger.kernel.org, x86@kernel.org, dave.hansen@linux.intel.com, tglx@linutronix.de, mingo@kernel.org, keith.lucas@oracle.com, rick.p.edgecombe@intel.com, linux-mm@kvack.org, Jorge Lucangeli Obes , Jeff Xu , Kees Cook , =?UTF-8?Q?Stephen_R=C3=B6ttger?= , Jann Horn Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 4B2A514000C X-Stat-Signature: 4ob6q78egj5dth3yo51fey871xnybh4u X-HE-Tag: 1721190357-293582 X-HE-Meta: U2FsdGVkX19kN1pe6pHjYJtfuC8SUTOSV1k1MAASMx1j8TlZkdbgzMGfmjsU8g7VQguHo7cBXF5kOPSev9MUsKbSdeUTicWjLq1eN9dmZ0OM8NV4XSud1hnXSj/YQlTd5OM0j1TfW1kBF/ievzM43udykilqou56UxWKCiIX8Tufa1bk6WV25jrtPAJEEJUAZh1excKbmhiNTznX9yE7g6yYS7lwGZ8RYYu26K5071KuqKrlywdVRQ1923hCGchTsb78kuS3d+vIG903enTZWEOjdFXx8Vncr607PP8T9/lrpBJFZWUlW+uQCvCzLGDcm3fj4MLmWEgcWoYkibi7jeCOSGxK75hUwnW0mEzE1TEnbHCCPMg/3H60glQGUZL5Sj81wwOtH8kDQnuFBd6xDfOarinXgbzzy0/p6RhjUNWzjD9NYOleuSo25/MtCupSXLwvsQAIaQP9YWgoDzPsle1R7vFgf0uxMJZTRVfvbjvM07OeTPEKnkA8ezijjPRCTdyHX0zmseXKSjvDyW7U87NJQgpoo14JbefKMPepTHFZI+Dr3GDop0D5pVhW50U5va0prgW43S0bYl00gnHDglH798z+N5d1E8jCgE+1wjB4wNoJkfhzLSHj8UT2TcmkzfRdHQ36gthgJx2Xz8qwvtV+fp+D3VWXRrOh1F23CFccyoGsudXqWywgX7U+QZTvW1jmVaCmIVzFyDHWm2vIDRwkAETTi6/mXA+C650Tr/bU2bnJAZvfQ8RI9ZjFXHXn1S5kykmI8zcctxkA71gd0kdcFcLGuUV5LBDPRpNLm6GzXOekVSWOrpESxVB6aZDLj9bgLiwT3jqY4R9KJoHrmpAMjuwIzjDuD/g/nApch8kkKvhSqpcU2wOdlXl20QLEWUeEEt3c7S0NlnUFO+e+rMnN1TV7yMnD2MTY2Tl66q6IU3LMhKoYImjoMXPTXLnFfM+K+FsTkxv+w/kFxyB aEMckBWV 4YIhBdoN3JTf+Bv8QdtZbEbAih/J20DjcXUWWjfy1w+Ghl/5lALH0QpF4oFDynf6DmvsQAU7b03zudHluLwE/y3HP1YpR7zHjyvXO6QRWYdf0uKV9Hdwspm/VyPcZ96Yx2S+idT9+smApyMtF/czoFc4PV/GoY6MIXqEJiK40KjxzKBVb8mx5llQ+TBWu1WCvZev4DRXyaCbytV2qsjUe75Tl8V1Dqz3L6jj9dCiHMeMeBfE= 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: Hi Aruna, I added Rick who commented on the previous version of patch. I added Kees/Jorge/Stephan/Yann, they expressed interest in similar functionality before. It would be best to keep them in future versions of this patch. I also add linux-mm for more reviews/feedback on signal handling path. On Thu, Jun 27, 2024 at 2:17=E2=80=AFPM Aruna Ramakrishna wrote: > > v6 updates: > - Rebased patchset to v6.10.0-rc5 > - Changed sig_prepare_pkru() back to enabling all pkeys, based on > discussion with Jeff Xu Thanks for taking the suggestion. > > As Jeff mentioned, I'm unsure if we need to retain the changes to the > 32-bit functions. Maintainers - please advise. > It is possible to reduce the size of change. Not touching the ia32 or x32 code path also means less test in multiple architectures and less risk of regression. I will add comments in the specific patch to clarify what I meant, please give it a try to see if it makes sense. -Jeff -Jeff > v5 updates: > - No major changes, mostly a resend of v4 - except for updating the > commit description for patch 5/5 > > v4 updates (based on review feedback from Thomas Gleixner): > - Simplified update_pkru_in_sigframe() > - Changed sigpkru to enable minimally required keys (init_pkru and > current > pkru) > - Modified pkey_sighandler_tests.c to use kselfttest framework > - Fixed commit descriptions > - Fixed sigreturn use case (pointed out by Jeff Xu) > - Added a new sigreturn test case > > v3 updates (based on review feedback from Ingo Molnar and Dave Hansen): > - Split the original patch into 3: > - function interface changes > - helper functions > - functional change to write pkru on sigframe > - Enabled all pkeys before XSAVE - i.e. wrpkru(0), rather than assuming > that the alt sig stack is always protected by pkey 0. > - Added a few test cases in pkey_sighandler_tests.c. > > I had some trouble adding these tests to > tools/testing/selftests/mm/protection_keys.c, so they're in a separate > file. > > Aruna Ramakrishna (4): > x86/pkeys: Add PKRU as a parameter in signal handling functions > x86/pkeys: Add helper functions to update PKRU on the sigframe > x86/pkeys: Update PKRU to enable all pkeys before XSAVE > x86/pkeys: Restore altstack before sigcontext > > Keith Lucas (1): > selftests/mm: Add new testcases for pkeys > > arch/x86/include/asm/fpu/signal.h | 2 +- > arch/x86/include/asm/sighandling.h | 10 +- > arch/x86/kernel/fpu/signal.c | 27 +- > arch/x86/kernel/fpu/xstate.c | 13 + > arch/x86/kernel/fpu/xstate.h | 2 + > arch/x86/kernel/signal.c | 45 +- > arch/x86/kernel/signal_32.c | 12 +- > arch/x86/kernel/signal_64.c | 14 +- > tools/testing/selftests/mm/Makefile | 2 + > tools/testing/selftests/mm/pkey-helpers.h | 11 +- > .../selftests/mm/pkey_sighandler_tests.c | 479 ++++++++++++++++++ > tools/testing/selftests/mm/protection_keys.c | 10 - > 12 files changed, 583 insertions(+), 44 deletions(-) > create mode 100644 tools/testing/selftests/mm/pkey_sighandler_tests.c > > > base-commit: f2661062f16b2de5d7b6a5c42a9a5c96326b8454 > prerequisite-patch-id: fc7cbe9ff3c554d556e2792f9ffaf29e6ad6ee21 > -- > 2.39.3 >