summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2016-09-12 12:48:28 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2016-09-12 12:48:28 +1000
commitffed15d3ce3f710b94e6f402e1ca2318f7d7c0e2 (patch)
treecdbbb164ddc5405fbaf2b615b4190989ace1ab66 /arch
parentbd00a240dc52e28706fbbe3aceda63e6c291b433 (diff)
downloadlinux-ffed15d3ce3f710b94e6f402e1ca2318f7d7c0e2.tar.gz
linux-ffed15d3ce3f710b94e6f402e1ca2318f7d7c0e2.tar.bz2
linux-ffed15d3ce3f710b94e6f402e1ca2318f7d7c0e2.zip
powerpc/kernel: Fix size of NUM_CPU_FTR_KEYS on 32-bit
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/include/asm/cpu_has_feature.h2
1 files changed, 1 insertions, 1 deletions
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];