All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Elliott, Robert (Servers)" <elliott@hpe.com>
To: "H. Peter Anvin" <hpa@zytor.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Maxim Levitsky <mlevitsk@redhat.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	Ingo Molnar <mingo@redhat.com>,
	"Josh Poimboeuf" <jpoimboe@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	"Tony Luck" <tony.luck@intel.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Tim Chen <tim.c.chen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"Chang S. Bae" <chang.seok.bae@intel.com>,
	Jane Malalane <jane.malalane@citrix.com>,
	Kees Cook <keescook@chromium.org>,
	Kan Liang <kan.liang@linux.intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
	<x86@kernel.org>, "Herbert Xu" <herbert@gondor.apana.org.au>,
	Jiri Olsa <jolsa@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
	"linux-perf-users@vger.kernel.org"
	<linux-perf-users@vger.kernel.org>,
	"open list:CRYPTO API" <linux-crypto@vger.kernel.org>
Subject: RE: [PATCH v2 1/5] perf/x86/intel/lbr: use setup_clear_cpu_cap instead of clear_cpu_cap
Date: Wed, 2 Nov 2022 19:14:52 +0000	[thread overview]
Message-ID: <MW5PR84MB18428E61A6F65FFCA1749FEAAB399@MW5PR84MB1842.NAMPRD84.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <B5ECAF37-5B38-4B6C-83AD-E49885B2A5B6@zytor.com>


> >We have a dependency system for CPUID features. If you are going to do
> this (as opposed to "fixing" this in Qemu or just saying "don't do that,
> it isn't a valid hardware configuration."
> One more thing: for obvious reasons, this doesn't fix user space if user
> space calls CPUID directly as opposed to reading /proc/cpuinfo or looking
> in sysfs. Unfortunately this is the rule rather than the exception,
> although for some features like AVX user space is also supposed to check
> XCR0, in which case it will work properly anyway.

The x86 crypto modules use boot_cpu_has() to check features before
using them.

If that (or some other function that we change them to use) returned false 
if the necessary XSAVE bits were not set, then they could drop the
cpu_has_xfeatures() calls.

arch/x86/kernel/fpu/xstate.c, which provides cpu_has_xfeatures(),
and also has an xsave_cpu_features table listing the features needed
be each xfeature. Perhaps that should provide a cpu_feature_usable()
function that calls boot_cpu_has() and confirms the associated xfeatures
are present. That way the logic would be in one place rather than
replicated in 20+ crypto modules.



  reply	other threads:[~2022-11-02 19:16 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-18 14:11 [PATCH v2 0/5] x86: cpuid: improve support for broken CPUID configurations Maxim Levitsky
2022-07-18 14:11 ` [PATCH v2 1/5] perf/x86/intel/lbr: use setup_clear_cpu_cap instead of clear_cpu_cap Maxim Levitsky
2022-09-19 14:31   ` Borislav Petkov
2022-09-20  8:20     ` Maxim Levitsky
2022-09-26 13:12       ` Borislav Petkov
2022-09-28 10:49         ` Maxim Levitsky
2022-10-20  8:59           ` Borislav Petkov
2022-10-20  9:05             ` Herbert Xu
2022-10-20 10:21               ` Maxim Levitsky
2022-10-20 11:13                 ` Borislav Petkov
2022-10-22 21:08             ` H. Peter Anvin
2022-11-02 13:40             ` Paolo Bonzini
2022-11-02 14:27               ` Elliott, Robert (Servers)
2022-11-02 16:23                 ` H. Peter Anvin
2022-11-02 18:19                   ` H. Peter Anvin
2022-11-02 19:14                     ` Elliott, Robert (Servers) [this message]
2022-11-03 13:26                   ` Paolo Bonzini
2022-11-03 13:30                 ` Paolo Bonzini
2022-10-20 15:17   ` [tip: x86/urgent] perf/x86/intel/lbr: Use setup_clear_cpu_cap() instead of clear_cpu_cap() tip-bot2 for Maxim Levitsky
2022-07-18 14:11 ` [PATCH v2 2/5] x86/cpuid: refactor setup_clear_cpu_cap()/clear_cpu_cap() Maxim Levitsky
2022-10-21 16:19   ` Borislav Petkov
2022-11-07 19:10     ` Borislav Petkov
2022-11-07 21:57       ` Borislav Petkov
2022-07-18 14:11 ` [PATCH v2 3/5] x86/cpuid: move filter_cpuid_features to cpuid-deps.c Maxim Levitsky
2022-07-18 14:11 ` [PATCH v2 4/5] x86/cpuid: remove 'warn' parameter from filter_cpuid_features Maxim Levitsky
2022-07-18 14:11 ` [PATCH v2 5/5] x86/cpuid: check for dependencies violations in CPUID and attempt to fix them Maxim Levitsky
2022-07-28  7:30 ` [PATCH v2 0/5] x86: cpuid: improve support for broken CPUID configurations Maxim Levitsky
2022-08-01 16:05   ` Maxim Levitsky
2022-08-01 16:31     ` Dave Hansen
2022-08-01 16:41       ` Maxim Levitsky
2022-09-19 13:43     ` Maxim Levitsky

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=MW5PR84MB18428E61A6F65FFCA1749FEAAB399@MW5PR84MB1842.NAMPRD84.PROD.OUTLOOK.COM \
    --to=elliott@hpe.com \
    --cc=acme@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=chang.seok.bae@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=hpa@zytor.com \
    --cc=jane.malalane@citrix.com \
    --cc=jolsa@kernel.org \
    --cc=jpoimboe@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=keescook@chromium.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=mlevitsk@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=pawan.kumar.gupta@linux.intel.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=tim.c.chen@linux.intel.com \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.