Re: [PATCH 12/24] x86: Update _static_cpu_has to use all named variables

From: Borislav Petkov
Date: Thu Jan 25 2018 - 14:32:05 EST


On Tue, Jan 23, 2018 at 04:25:51PM +0100, Peter Zijlstra wrote:
>
> Requested-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> ---
> arch/x86/include/asm/cpufeature.h | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> --- a/arch/x86/include/asm/cpufeature.h
> +++ b/arch/x86/include/asm/cpufeature.h
> @@ -153,7 +153,7 @@ static __always_inline __pure bool _stat
> ".section .altinstructions,\"a\"\n"
> " .long 1b - .\n" /* src offset */
> " .long 4f - .\n" /* repl offset */
> - " .word %P1\n" /* always replace */
> + " .word %P[always]\n" /* always replace */
> " .byte 3b - 1b\n" /* src len */
> " .byte 5f - 4f\n" /* repl len */
> " .byte 3b - 2b\n" /* pad len */
> @@ -165,7 +165,7 @@ static __always_inline __pure bool _stat
> ".section .altinstructions,\"a\"\n"
> " .long 1b - .\n" /* src offset */
> " .long 0\n" /* no replacement */
> - " .word %P0\n" /* feature bit */
> + " .word %P[feature]\n" /* feature bit */
> " .byte 3b - 1b\n" /* src len */
> " .byte 0\n" /* repl len */
> " .byte 0\n" /* pad len */
> @@ -176,8 +176,9 @@ static __always_inline __pure bool _stat
> " jnz %l[t_yes]\n"
> " jmp %l[t_no]\n"
> ".previous\n"
> - : : "i" (bit), "i" (X86_FEATURE_ALWAYS),
> - [bitnum] "i" (1 << (bit & 7)),
> + : : [feature] "i" (bit),
> + [always] "i" (X86_FEATURE_ALWAYS),
> + [bitnum] "i" (1 << (bit & 7)),
> [cap_byte] "m" (((const char *)boot_cpu_data.x86_capability)[bit >> 3])
> : : t_yes, t_no);
> t_yes:

Reviewed-by: Borislav Petkov <bp@xxxxxxx>

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.