summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2024-01-31 13:37:25 +0100
committerHelge Deller <deller@gmx.de>2024-01-31 13:51:26 +0100
commit913b9d443a0180cf0de3548f1ab3149378998486 (patch)
tree3e5055a7ed0f34f9b3350162ae968da5865d4c9d /arch
parentparisc: Fix random data corruption from exception handler (diff)
downloadlinux-913b9d443a0180cf0de3548f1ab3149378998486.tar.xz
linux-913b9d443a0180cf0de3548f1ab3149378998486.zip
parisc: BTLB: Fix crash when setting up BTLB at CPU bringup
When using hotplug and bringing up a 32-bit CPU, ask the firmware about the BTLB information to set up the static (block) TLB entries. For that write access to the static btlb_info struct is needed, but since it is marked __ro_after_init the kernel segfaults with missing write permissions. Fix the crash by dropping the __ro_after_init annotation. Fixes: e5ef93d02d6c ("parisc: BTLB: Initialize BTLB tables at CPU startup") Signed-off-by: Helge Deller <deller@gmx.de> Cc: <stable@vger.kernel.org> # v6.6+
Diffstat (limited to 'arch')
-rw-r--r--arch/parisc/kernel/cache.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c
index 5552602fcaef..422f3e1e6d9c 100644
--- a/arch/parisc/kernel/cache.c
+++ b/arch/parisc/kernel/cache.c
@@ -58,7 +58,7 @@ int pa_serialize_tlb_flushes __ro_after_init;
struct pdc_cache_info cache_info __ro_after_init;
#ifndef CONFIG_PA20
-struct pdc_btlb_info btlb_info __ro_after_init;
+struct pdc_btlb_info btlb_info;
#endif
DEFINE_STATIC_KEY_TRUE(parisc_has_cache);