summary refs log tree commit diff
path: root/scripts/tracing
diff options
context:
space:
mode:
authorVasily Gorbik <gor@linux.ibm.com>2022-11-04 12:06:47 +0100
committerAlexander Gordeev <agordeev@linux.ibm.com>2022-11-16 11:39:12 +0100
commite3c11025bcd2142a61abe5806b2f86a0e78118df (patch)
tree6afd3e3b7f54be971a0c0b42ebc3212fad7c1daa /scripts/tracing
parenta41a11b4009580edb6e2b4c76e5e2ee303f87157 (diff)
downloadlinux-e3c11025bcd2142a61abe5806b2f86a0e78118df.tar.gz
s390: avoid using global register for current_stack_pointer
Commit 30de14b1884b ("s390: current_stack_pointer shouldn't be a
function") made current_stack_pointer a global register variable like
on many other architectures. Unfortunately on s390 it uncovers old
gcc bug which is fixed only since gcc-9.1 [gcc commit 3ad7fed1cc87
("S/390: Fix PR89775. Stackpointer save/restore instructions removed")]
and backported to gcc-8.4 and later. Due to this bug gcc versions prior
to 8.4 generate broken code which leads to stack corruptions.

Current minimal gcc version required to build the kernel is declared
as 5.1. It is not possible to fix all old gcc versions, so work
around this problem by avoiding using global register variable for
current_stack_pointer.

Fixes: 30de14b1884b ("s390: current_stack_pointer shouldn't be a function")
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Diffstat (limited to 'scripts/tracing')
0 files changed, 0 insertions, 0 deletions