parisc: Fix vDSO signal breakage on 32-bit kernel
authorHelge Deller <deller@gmx.de>
Fri, 1 Jul 2022 07:00:41 +0000 (09:00 +0200)
committerHelge Deller <deller@gmx.de>
Sat, 2 Jul 2022 16:36:58 +0000 (18:36 +0200)
commitaa78fa905b4431c432071a878da99c2b37fc0e79
tree9affce84175326091726f1545a52b3342de4e342
parent96b80fcd2705fc50ebe1f7f3ce204e861b3099ab
parisc: Fix vDSO signal breakage on 32-bit kernel

Addition of vDSO support for parisc in kernel v5.18 suddenly broke glibc
signal testcases on a 32-bit kernel.

The trampoline code (sigtramp.S) which is mapped into userspace includes
an offset to the context data on the stack, which is used by gdb and
glibc to get access to registers.

In a 32-bit kernel we used by mistake the offset into the compat context
(which is valid on a 64-bit kernel only) instead of the offset into the
"native" 32-bit context.

Reported-by: John David Anglin <dave.anglin@bell.net>
Tested-by: John David Anglin <dave.anglin@bell.net>
Fixes:  df24e1783e6e ("parisc: Add vDSO support")
CC: stable@vger.kernel.org # 5.18
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/kernel/asm-offsets.c