Skip to content

Commit f6027c8

Browse files
thejhsuryasaimadhu
authored andcommitted
x86/cpufeature: Fix __percpu annotation in this_cpu_has()
&cpu_info.x86_capability is __percpu, and the second argument of x86_this_cpu_test_bit() is expected to be __percpu. Don't cast the __percpu away and then implicitly add it again. This gets rid of 106 lines of sparse warnings with the kernel config I'm using. Signed-off-by: Jann Horn <jannh@google.com> Signed-off-by: Borislav Petkov <bp@suse.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Nadav Amit <namit@vmware.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: x86-ml <x86@kernel.org> Link: https://lkml.kernel.org/r/20190328154948.152273-1-jannh@google.com
1 parent 92c77f7 commit f6027c8

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

arch/x86/include/asm/cpufeature.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,9 @@ extern const char * const x86_bug_flags[NBUGINTS*32];
112112
test_cpu_cap(c, bit))
113113

114114
#define this_cpu_has(bit) \
115-
(__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
116-
x86_this_cpu_test_bit(bit, (unsigned long *)&cpu_info.x86_capability))
115+
(__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
116+
x86_this_cpu_test_bit(bit, \
117+
(unsigned long __percpu *)&cpu_info.x86_capability))
117118

118119
/*
119120
* This macro is for detection of features which need kernel

0 commit comments

Comments
 (0)