linux/arch/riscv/kernel
Andrew Jones eb6354e116
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 8eb060e101 ("arch/riscv:
add Zihintpause support") adds a static branch check for a newly
added isa-ext key to cpu_relax(), which kvm uses.

Fixes: c360cbec35 ("riscv: introduce unified static key mechanism for ISA extensions")
Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
Cc: stable@vger.kernel.org
Reported-by: Ron Economos <re@w6rz.net>
Reported-by: Anup Patel <apatel@ventanamicro.com>
Reported-by: Conor Dooley <conor.dooley@microchip.com>
Tested-by: Atish Patra <atishp@rivosinc.com>
Link: https://lore.kernel.org/r/20220816163058.3004536-1-ajones@ventanamicro.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-08-16 18:07:43 -07:00
..
compat_vdso riscv: compat: vdso: Add COMPAT_VDSO base code implementation 2022-04-26 13:36:53 -07:00
probes riscv:uprobe fix SR_SPIE set/clear handling 2022-08-11 14:14:52 -07:00
vdso riscv: compat: vdso: Add COMPAT_VDSO base code implementation 2022-04-26 13:36:53 -07:00
.gitignore
alternative.c riscv: make patch-function pointer more generic in cpu_manufacturer_info struct 2022-06-16 15:47:40 -07:00
asm-offsets.c RISC-V: Add arch functions for non-retentive suspend entry/exit 2022-03-10 09:29:31 -08:00
cacheinfo.c
compat_signal.c riscv: compat: signal: Add rt_frame implementation 2022-05-17 16:37:21 -07:00
compat_syscall_table.c riscv: compat: syscall: Add compat_sys_call_table implementation 2022-04-26 13:36:25 -07:00
cpu-hotplug.c
cpu.c RISC-V: Add Sstc extension support 2022-08-11 14:41:52 -07:00
cpu_ops.c riscv: ensure cpu_ops_sbi is declared 2022-08-11 13:46:51 -07:00
cpu_ops_sbi.c riscv: cpu_ops_sbi: Add 64bit hartid support on RV64 2022-07-19 16:38:58 -07:00
cpu_ops_spinwait.c RISC-V: cpu_ops_spinwait.c should include head.h 2022-08-11 13:24:16 -07:00
cpufeature.c riscv: Ensure isa-ext static keys are writable 2022-08-16 18:07:43 -07:00
crash_dump.c vmcore: convert copy_oldmem_page() to take an iov_iter 2022-04-29 14:37:59 -07:00
crash_save_regs.S RISC-V: Fixup get incorrect user mode PC for kernel mode regs 2022-08-11 08:54:40 -07:00
efi-header.S
efi.c riscv: read-only pages should not be writable 2022-05-28 11:39:31 +02:00
elf_kexec.c RISCV: kexec: Fix build error without CONFIG_MODULES 2022-07-14 14:23:33 -07:00
entry.S context_tracking: Split user tracking Kconfig 2022-06-29 17:04:09 -07:00
fpu.S
ftrace.c ftrace: Remove return value of ftrace_arch_modify_*() 2022-05-26 21:13:00 -04:00
head.h
head.S riscv: Initialize thread pointer before calling C functions 2022-06-01 21:46:23 -07:00
image-vars.h
irq.c
jump_label.c jump_label: make initial NOP patching the special case 2022-06-24 09:48:55 +02:00
kexec_relocate.S
kgdb.c
machine_kexec.c RISC-V: Fixup schedule out issue in machine_crash_shutdown() 2022-08-11 08:54:46 -07:00
machine_kexec_file.c RISC-V: Add kexec_file support 2022-05-19 12:14:18 -07:00
Makefile RISC-V: kexec: Fix build error without CONFIG_KEXEC 2022-07-14 14:23:41 -07:00
mcount-dyn.S
mcount.S
module-sections.c
module.c riscv: implement module alternatives 2022-05-11 21:36:31 -07:00
patch.c riscv: patch_text: Fixup last cpu should be master 2022-04-22 08:29:24 -07:00
perf_callchain.c riscv: Fix fill_callchain return value 2022-03-30 23:01:42 -07:00
perf_regs.c
process.c This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
ptrace.c riscv: compat: ptrace: Add compat_arch_ptrace implement 2022-05-17 16:37:22 -07:00
reset.c riscv: Use do_kernel_power_off() 2022-05-19 19:30:30 +02:00
riscv_ksyms.c
sbi.c RISC-V: Fix IPI/RFENCE hmask on non-monotonic hartid ordering 2022-02-14 12:27:45 -08:00
setup.c riscv: Add support for non-coherent devices using zicbom extension 2022-07-28 15:30:51 -07:00
signal.c riscv: compat: signal: Add rt_frame implementation 2022-05-17 16:37:21 -07:00
smp.c Updates to various subsystems which I help look after. lib, ocfs2, 2022-08-07 10:03:24 -07:00
smpboot.c riscv: cpu: Add 64bit hartid support on RV64 2022-07-19 16:39:14 -07:00
soc.c
stacktrace.c riscv: Rename "sp_in_global" to "current_stack_pointer" 2022-03-30 15:15:27 -07:00
suspend.c RISC-V: Add arch functions for non-retentive suspend entry/exit 2022-03-10 09:29:31 -08:00
suspend_entry.S RISC-V: Split out the XIP fixups into their own file 2022-05-25 14:43:33 -07:00
sys_riscv.c riscv: mmap with PROT_WRITE but no PROT_READ is invalid 2022-07-21 15:53:46 -07:00
syscall_table.c
time.c
trace_irq.c riscv: fix oops caused by irqsoff latency tracer 2022-02-24 20:30:30 -08:00
trace_irq.h riscv: fix oops caused by irqsoff latency tracer 2022-02-24 20:30:30 -08:00
traps.c RISC-V: Add fast call path of crash_kexec() 2022-07-21 16:40:03 -07:00
traps_misaligned.c riscv: traps_misaligned: do not duplicate stringify 2022-08-11 08:56:53 -07:00
vdso.c riscv: compat: Using seperated vdso_maps for compat_vdso_info 2022-05-25 17:24:06 -07:00
vmlinux-xip.lds.S
vmlinux.lds.S