diff mbox

powerpc/kernel: Fix size of NUM_CPU_FTR_KEYS on 32-bit

Message ID 1473648890-17909-1-git-send-email-mpe@ellerman.id.au (mailing list archive)
State Accepted
Headers show

Commit Message

Michael Ellerman Sept. 12, 2016, 2:54 a.m. UTC
The number of CPU feature keys is meant to map 1:1 to the number of CPU
feature flags defined in cputable.h, and the latter must fit in an
unsigned long.

In commit 4db7327194db ("powerpc: Add option to use jump label for
cpu_has_feature()"), I incorrectly defined NUM_CPU_FTR_KEYS to 64.

There should be no real adverse consequences of this bug, other than us
allocating too many keys.

Fix it by using BITS_PER_LONG.

Fixes: 4db7327194db ("powerpc: Add option to use jump label for cpu_has_feature()")
Tested-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
 arch/powerpc/include/asm/cpu_has_feature.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Michael Ellerman Sept. 12, 2016, 10:08 p.m. UTC | #1
On Mon, 2016-12-09 at 02:54:50 UTC, Michael Ellerman wrote:
> The number of CPU feature keys is meant to map 1:1 to the number of CPU
> feature flags defined in cputable.h, and the latter must fit in an
> unsigned long.
> 
> In commit 4db7327194db ("powerpc: Add option to use jump label for
> cpu_has_feature()"), I incorrectly defined NUM_CPU_FTR_KEYS to 64.
> 
> There should be no real adverse consequences of this bug, other than us
> allocating too many keys.
> 
> Fix it by using BITS_PER_LONG.
> 
> Fixes: 4db7327194db ("powerpc: Add option to use jump label for cpu_has_feature()")
> Tested-by: Meelis Roos <mroos@linux.ee>
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>

Applied to powerpc fixes.

https://git.kernel.org/powerpc/c/ffed15d3ce3f710b94e6f402e1

cheers
diff mbox

Patch

diff --git a/arch/powerpc/include/asm/cpu_has_feature.h b/arch/powerpc/include/asm/cpu_has_feature.h
index 2ef55f8968a2..b312b152461b 100644
--- a/arch/powerpc/include/asm/cpu_has_feature.h
+++ b/arch/powerpc/include/asm/cpu_has_feature.h
@@ -15,7 +15,7 @@  static inline bool early_cpu_has_feature(unsigned long feature)
 #ifdef CONFIG_JUMP_LABEL_FEATURE_CHECKS
 #include <linux/jump_label.h>
 
-#define NUM_CPU_FTR_KEYS	64
+#define NUM_CPU_FTR_KEYS	BITS_PER_LONG
 
 extern struct static_key_true cpu_feature_keys[NUM_CPU_FTR_KEYS];