Re: [tip:x86/fpu] x86/fpu: Rename XSAVE macros

From: Borislav Petkov
Date: Wed Sep 23 2015 - 06:49:11 EST


On Mon, Sep 14, 2015 at 05:21:07AM -0700, tip-bot for Dave Hansen wrote:
> Commit-ID: d91cab78133d33b1dfd3d3fa7167fcbf74fb5f99
> Gitweb: http://git.kernel.org/tip/d91cab78133d33b1dfd3d3fa7167fcbf74fb5f99
> Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> AuthorDate: Wed, 2 Sep 2015 16:31:26 -0700
> Committer: Ingo Molnar <mingo@xxxxxxxxxx>
> CommitDate: Mon, 14 Sep 2015 12:21:46 +0200
>
> x86/fpu: Rename XSAVE macros
>
> There are two concepts that have some confusing naming:
> 1. Extended State Component numbers (currently called
> XFEATURE_BIT_*)
> 2. Extended State Component masks (currently called XSTATE_*)
>
> The numbers are (currently) from 0-9. State component 3 is the
> bounds registers for MPX, for instance.
>
> But when we want to enable "state component 3", we go set a bit
> in XCR0. The bit we set is 1<<3. We can check to see if a
> state component feature is enabled by looking at its bit.
>
> The current 'xfeature_bit's are at best xfeature bit _numbers_.
> Calling them bits is at best inconsistent with ending the enum
> list with 'XFEATURES_NR_MAX'.
>
> This patch renames the enum to be 'xfeature'. These also
> happen to be what the Intel documentation calls a "state
> component".
>
> We also want to differentiate these from the "XSTATE_*" macros.
> The "XSTATE_*" macros are a mask, and we rename them to match.
>
> These macros are reasonably widely used so this patch is a
> wee bit big, but this really is just a rename.
>
> The only non-mechanical part of this is the
>
> s/XSTATE_EXTEND_MASK/XFEATURE_MASK_EXTEND/
>
> We need a better name for it, but that's another patch.
>
> Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: Brian Gerst <brgerst@xxxxxxxxx>
> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx>
> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
> Cc: H. Peter Anvin <hpa@xxxxxxxxx>
> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx>
> Cc: dave@xxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Link: http://lkml.kernel.org/r/20150902233126.38653250@xxxxxxxxxxxxxxxxxx
> [ Ported to v4.3-rc1. ]
> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
> ---

...

> @@ -558,7 +558,7 @@ static int __init twofish_init(void)
> {
> const char *feature_name;
>
> - if (!cpu_has_xfeatures(XSTATE_SSE | XSTATE_YMM, &feature_name)) {
> + if (!cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, NULL)) {
> pr_info("CPU feature '%s' is not supported.\n", feature_name);
> return -ENODEV;
> }

---
From: Borislav Petkov <bp@xxxxxxx>
Date: Wed, 23 Sep 2015 12:44:59 +0200
Subject: [PATCH] x86/crypto: Fixup uninitialized feature_name warning

Hand in &feature_name to cpu_has_xfeatures() as it is supposed to. Fixes
an uninitialized warning.

Fixes: d91cab78133d ("x86/fpu: Rename XSAVE macros")
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
---
arch/x86/crypto/twofish_avx_glue.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/crypto/twofish_avx_glue.c b/arch/x86/crypto/twofish_avx_glue.c
index 6f3738ced95e..b7a3904b953c 100644
--- a/arch/x86/crypto/twofish_avx_glue.c
+++ b/arch/x86/crypto/twofish_avx_glue.c
@@ -558,7 +558,7 @@ static int __init twofish_init(void)
{
const char *feature_name;

- if (!cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, NULL)) {
+ if (!cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, &feature_name)) {
pr_info("CPU feature '%s' is not supported.\n", feature_name);
return -ENODEV;
}
--
2.3.5

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/