Skip to content

Commit eb6354e

Browse files
jones-drewpalmer-dabbelt
authored andcommitted
riscv: Ensure isa-ext static keys are writable
riscv_isa_ext_keys[] is an array of static keys used in the unified ISA extension framework. The keys added to this array may be used anywhere, including in modules. Ensure the keys remain writable by placing them in the data section. The need to change riscv_isa_ext_keys[]'s section was found when the kvm module started failing to load. Commit 8eb060e ("arch/riscv: add Zihintpause support") adds a static branch check for a newly added isa-ext key to cpu_relax(), which kvm uses. Fixes: c360cbe ("riscv: introduce unified static key mechanism for ISA extensions") Signed-off-by: Andrew Jones <[email protected]> Cc: [email protected] Reported-by: Ron Economos <[email protected]> Reported-by: Anup Patel <[email protected]> Reported-by: Conor Dooley <[email protected]> Tested-by: Atish Patra <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Palmer Dabbelt <[email protected]>
1 parent 568035b commit eb6354e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/riscv/kernel/cpufeature.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ unsigned long elf_hwcap __read_mostly;
2828
/* Host ISA bitmap */
2929
static DECLARE_BITMAP(riscv_isa, RISCV_ISA_EXT_MAX) __read_mostly;
3030

31-
__ro_after_init DEFINE_STATIC_KEY_ARRAY_FALSE(riscv_isa_ext_keys, RISCV_ISA_EXT_KEY_MAX);
31+
DEFINE_STATIC_KEY_ARRAY_FALSE(riscv_isa_ext_keys, RISCV_ISA_EXT_KEY_MAX);
3232
EXPORT_SYMBOL(riscv_isa_ext_keys);
3333

3434
/**

0 commit comments

Comments
 (0)