summaryrefslogtreecommitdiffstats
path: root/arch/alpha
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2021-09-18 18:27:12 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2022-10-29 23:31:15 -0400
commit19a09e426893a3cb08b97147b8dc22bdfcab3bba (patch)
tree2d6e8059aa7ede6b3b526b577e89f12e51818205 /arch/alpha
parentf7b2431a6d22f7a91c567708e071dfcd6d66db14 (diff)
downloadlinux-19a09e426893a3cb08b97147b8dc22bdfcab3bba.tar.bz2
alpha: fix handling of a3 on straced syscalls
For successful syscall that happens to return a negative, we want a3 set to 0, no matter whether it's straced or not. As it is, for straced case we leave the value it used to have on syscall entry. Easily fixed, fortunately... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/alpha')
-rw-r--r--arch/alpha/kernel/entry.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S
index c41a5a9c3b9f..78fe7ee25425 100644
--- a/arch/alpha/kernel/entry.S
+++ b/arch/alpha/kernel/entry.S
@@ -600,8 +600,8 @@ ret_from_straced:
/* check return.. */
blt $0, $strace_error /* the call failed */
- stq $31, 72($sp) /* a3=0 => no error */
$strace_success:
+ stq $31, 72($sp) /* a3=0 => no error */
stq $0, 0($sp) /* save return value */
DO_SWITCH_STACK