summaryrefslogtreecommitdiff
path: root/arch/s390
diff options
context:
space:
mode:
authorSven Schnelle <svens@linux.ibm.com>2025-01-08 15:27:02 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-02-17 09:40:03 +0100
commit52c0b3cb6f031dd2ad69eb45a552e3d8563aaa16 (patch)
tree514f077a1f49cdd24d6809c036aac7c0910cd449 /arch/s390
parentdc5da273051e5667f2f3676ef96834c9b1e11dd2 (diff)
downloadlinux-52c0b3cb6f031dd2ad69eb45a552e3d8563aaa16.tar.gz
linux-52c0b3cb6f031dd2ad69eb45a552e3d8563aaa16.tar.bz2
linux-52c0b3cb6f031dd2ad69eb45a552e3d8563aaa16.zip
s390/stackleak: Use exrl instead of ex in __stackleak_poison()
[ Upstream commit a88c26bb8e04ee5f2678225c0130a5fbc08eef85 ] exrl is present in all machines currently supported, therefore prefer it over ex. This saves one instruction and doesn't need an additional register to hold the address of the target instruction. Signed-off-by: Sven Schnelle <svens@linux.ibm.com> Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/include/asm/processor.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h
index e7338ed540d8..2f373e8cfed3 100644
--- a/arch/s390/include/asm/processor.h
+++ b/arch/s390/include/asm/processor.h
@@ -140,8 +140,7 @@ static __always_inline void __stackleak_poison(unsigned long erase_low,
" la %[addr],256(%[addr])\n"
" brctg %[tmp],0b\n"
"1: stg %[poison],0(%[addr])\n"
- " larl %[tmp],3f\n"
- " ex %[count],0(%[tmp])\n"
+ " exrl %[count],3f\n"
" j 4f\n"
"2: stg %[poison],0(%[addr])\n"
" j 4f\n"