summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2021-07-21 11:39:25 +0200
committerHeiko Carstens <hca@linux.ibm.com>2021-07-27 09:39:20 +0200
commitc68d463286cd481cfbc4b0207fafef1ef5506d3b (patch)
tree219bb31ff7e93948d44e90ab28db0a2ec498918f /arch
parent95655495e404740fd8624398ed92b1e5afb5672f (diff)
s390/hwcaps: add sanity checks
Add BUILD_BUG_ON() sanity checks to make sure the hwcap string array contains a string for each hwcap. Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/include/asm/elf.h2
-rw-r--r--arch/s390/kernel/processor.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h
index 88f7b7e7c08a..f02273831473 100644
--- a/arch/s390/include/asm/elf.h
+++ b/arch/s390/include/asm/elf.h
@@ -114,6 +114,7 @@ enum {
HWCAP_NR_VXRS_PDE2 = 19,
HWCAP_NR_NNPA = 20,
HWCAP_NR_PCI_MIO = 21,
+ HWCAP_NR_MAX
};
/* Bits present in AT_HWCAP. */
@@ -142,6 +143,7 @@ enum {
enum {
HWCAP_INT_NR_SIE = 0,
+ HWCAP_INT_NR_MAX
};
/* Internal bits, not exposed via elf */
diff --git a/arch/s390/kernel/processor.c b/arch/s390/kernel/processor.c
index 1eb2410d9fb2..e0efe946d8f0 100644
--- a/arch/s390/kernel/processor.c
+++ b/arch/s390/kernel/processor.c
@@ -141,6 +141,8 @@ static void show_cpu_summary(struct seq_file *m, void *v)
};
int i, cpu;
+ BUILD_BUG_ON(ARRAY_SIZE(hwcap_str) != HWCAP_NR_MAX);
+ BUILD_BUG_ON(ARRAY_SIZE(int_hwcap_str) != HWCAP_INT_NR_MAX);
seq_printf(m, "vendor_id : IBM/S390\n"
"# processors : %i\n"
"bogomips per cpu: %lu.%02lu\n",