All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Elliott, Robert (Servers)" <elliott@hpe.com>
To: 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>,
	"H. Peter Anvin" <hpa@zytor.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 14:27:52 +0000	[thread overview]
Message-ID: <MW5PR84MB18428331677C881764E615D2AB399@MW5PR84MB1842.NAMPRD84.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <fd2cf028-bd83-57ff-7e6d-ef3ee11852a1@redhat.com>


> From: Paolo Bonzini <pbonzini@redhat.com>
...
> (2) in particular holds even on bare metal.  The kernel bug here is that
> X86_FEATURE_AVX only tells you if the instructions are _present_, not if
> they are _usable_.   Indeed, the XCR0 check is present for all other
> files in arch/x86/crypto, either instead or in addition to
> boot_cpu_has(X86_FEATURE_AVX).
> 
> Maxim had sent a patch about a year ago to do it in aesni-intel-glue.c
> but Dave told him to fix the dependencies instead
> (https://lore.kernel.org/all/20211103124614.499580-1-
> mlevitsk@redhat.com/).
>   What do you think of applying that patch instead?

Most of the x86 crypto modules using X86_FEATURE_AVX do check
	cpu_has_xfeatures(XFEATURE_MASK_YMM, ...

so it's probably prudent to add it to the rest (or remove it everywhere
if it is not needed).

1. Currently checking XSAVE YMM:
  aria_aesni_avx_glue
  blake2s-glue
  camellia_aesni_avx2_glue	camellia_aesni_avx_glue
  cast5_avx_glue		cast6_avx_glue
  chacha_glue
  poly1305_glue
  serpent_avx2_glue		serpent_avx_glue
  sha1_ssse3_glue		sha256_ssse3_glue	sha512_ssse3_glue
  sm3_avx_glue
  sm4_aesni_avx2_glue	sm4_aesni_avx_glue
  twofish_avx_glue

Currently not checking XSAVE YMM:
  aesni-intel_glue
  curve25519-x86_64
  nhpoly1305-avx2-glue
  polyval-clmulni_glue

2. Similarly, modules using X86_FEATURE_AVX512F, X86_FEATURE_AVXX512VL
and/or X86_FEATURE_AVX512BW probably need to check XFEATURE_MASK_AVX512:

Currently checking XSAVE AVX512:
  blake2s-glue
  poly1305_glue

Currently not checking XSAVE AVX512:
  chacha_glue

3. Similarly, modules using X86_FEATURE_XMM2 probably need to
check XFEATURE_MASK_SSE:

Currently checking XSAVE SSE:
  aegis128-aesni-glue 

Current not checking XSAVE SSE:
  nhpoly1305-sse2_glue
  serpent_sse2_glue



  reply	other threads:[~2022-11-02 14:29 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) [this message]
2022-11-02 16:23                 ` H. Peter Anvin
2022-11-02 18:19                   ` H. Peter Anvin
2022-11-02 19:14                     ` Elliott, Robert (Servers)
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=MW5PR84MB18428331677C881764E615D2AB399@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.