diff options
author | Helge Deller <deller@gmx.de> | 2024-01-31 13:37:25 +0100 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2024-01-31 13:51:26 +0100 |
commit | 913b9d443a0180cf0de3548f1ab3149378998486 (patch) | |
tree | 3e5055a7ed0f34f9b3350162ae968da5865d4c9d /arch | |
parent | parisc: Fix random data corruption from exception handler (diff) | |
download | linux-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.c | 2 |
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); |