linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Chang S. Bae" <chang.seok.bae@intel.com>
To: linux-kernel@vger.kernel.org
Cc: x86@kernel.org, tglx@linutronix.de, dave.hansen@linux.intel.com,
	bp@alien8.de, mingo@redhat.com, yang.zhong@intel.com,
	jing2.liu@intel.com, chang.seok.bae@intel.com
Subject: [PATCH 0/2] x86: Fix ARCH_REQ_XCOMP_PERM and update the test
Date: Mon,  8 Nov 2021 15:34:59 -0800	[thread overview]
Message-ID: <20211108233501.11516-1-chang.seok.bae@intel.com> (raw)

The recent x86 dynamic state support incorporates the arch_prctl option to
request permission before using a dynamic state.

It was designed to add the requested feature in the group leader's
permission bitmask so that every thread can reference this master bitmask.
The group leader is assumed to be unchanged here. The mainline is the case
as a group leader is identified at fork() or exec() time only.

This master bitmask should include non-dynamic features always, as they
are permitted by default. Users may check them via ARCH_GET_XCOMP_PERM.

But, in hindsight, the implementation does:
  (1) update each task's permission bitmask, instead of the group leader's. 
  (2) overwrite the bitmask with the requested bit only, instead of adding 
      the bit to the existing one. This overwrite effectively revokes the
      permission that is granted already.

Fix the code and also update the selftest to disclose the issue if there
is.

Reported-by: Yang Zhong <yang.zhong@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>

Chang S. Bae (2):
  x86/arch_prctl: Fix ARCH_REQ_XCOMP_PERM
  selftests/x86/amx: Update the ARCH_REQ_XCOMP_PERM test

 arch/x86/kernel/fpu/xstate.c      |  2 +-
 tools/testing/selftests/x86/amx.c | 16 ++++++++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)


base-commit: 9a6cf455a952725422f4fb10848839989f833579
-- 
2.17.1


             reply	other threads:[~2021-11-08 23:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-08 23:34 Chang S. Bae [this message]
2021-11-08 23:35 ` [PATCH 1/2] x86/arch_prctl: Fix ARCH_REQ_XCOMP_PERM Chang S. Bae
2021-11-09  4:55   ` Bae, Chang Seok
2021-11-08 23:35 ` [PATCH 2/2] selftests/x86/amx: Update the ARCH_REQ_XCOMP_PERM test Chang S. Bae

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211108233501.11516-1-chang.seok.bae@intel.com \
    --to=chang.seok.bae@intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=jing2.liu@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=yang.zhong@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).