summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2021-09-19 01:27:12 +0300
committerAl Viro <viro@zeniv.linux.org.uk>2022-10-30 06:31:15 +0300
commit19a09e426893a3cb08b97147b8dc22bdfcab3bba (patch)
tree2d6e8059aa7ede6b3b526b577e89f12e51818205
parentf7b2431a6d22f7a91c567708e071dfcd6d66db14 (diff)
downloadlinux-19a09e426893a3cb08b97147b8dc22bdfcab3bba.tar.xz
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>
-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