linux/arch/parisc
Guenter Roeck 287a0e6d3a parisc: Fix stack unwinder
[ Upstream commit 882a2a724e ]

Debugging shows a large number of unaligned access traps in the unwinder
code. Code analysis reveals a number of issues with this code:

- handle_interruption is passed twice through
  dereference_kernel_function_descriptor()
- ret_from_kernel_thread, syscall_exit, intr_return,
  _switch_to_ret, and _call_on_stack are passed through
  dereference_kernel_function_descriptor() even though they are
  not declared as function pointers.

To fix the problems, drop one of the calls to
dereference_kernel_function_descriptor() for handle_interruption,
and compare the other pointers directly.

Fixes: 6414b30b39 ("parisc: unwind: Avoid missing prototype warning for handle_interruption()")
Fixes: 8e0ba125c2 ("parisc/unwind: fix unwinder when CONFIG_64BIT is enabled")
Cc: Helge Deller <deller@gmx.de>
Cc: Sven Schnelle <svens@stackframe.org>
Cc: John David Anglin <dave.anglin@bell.net>
Cc: Charlie Jenkins <charlie@rivosinc.com>
Cc: David Laight <David.Laight@ACULAB.COM>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-03-01 13:35:07 +01:00
..
boot parisc: boot: Nuke some sparse warnings in decompressor 2023-08-10 22:42:57 +02:00
configs arch/*/configs/*defconfig: Replace AUTOFS4_FS by AUTOFS_FS 2023-07-29 14:08:22 -07:00
include parisc: Fix random data corruption from exception handler 2024-02-23 09:25:18 +01:00
kernel parisc: Fix stack unwinder 2024-03-01 13:35:07 +01:00
lib parisc: ucmpdi2: Fix no previous prototype for '__ucmpdi2' warning 2023-08-10 18:34:05 +02:00
math-emu parisc: math-emu: Avoid compiler warnings with W=1 2023-07-03 18:56:03 +02:00
mm parisc: Fix random data corruption from exception handler 2024-02-23 09:25:18 +01:00
net parisc: Add eBPF JIT compiler glue code and Makefile 2023-08-22 10:24:47 +02:00
video fbdev: Include <linux/fb.h> instead of <asm/fb.h> 2023-05-18 11:06:21 +02:00
defpalo.conf parisc: switch to gzip-compressed vmlinuz kernel 2013-07-09 22:09:20 +02:00
install.sh kbuild: factor out the common installation code into scripts/install.sh 2022-05-11 21:45:53 +09:00
Kbuild parisc: Wire up eBPF JIT compiler 2023-08-22 10:24:47 +02:00
Kconfig parisc: Fix random data corruption from exception handler 2024-02-23 09:25:18 +01:00
Kconfig.debug parisc: Use page table locks only if DEBUG_KERNEL is enabled 2023-08-20 20:23:46 +02:00
Makefile arch/parisc: Implement fb_is_primary_device() under arch/parisc 2023-04-20 10:04:58 +02:00