summaryrefslogtreecommitdiff
path: root/lib/libc/arch/aarch64
diff options
context:
space:
mode:
authorPatrick Wildt <patrick@cvs.openbsd.org>2017-02-22 22:18:52 +0000
committerPatrick Wildt <patrick@cvs.openbsd.org>2017-02-22 22:18:52 +0000
commit69f6b3abd64bf1fa9b3e1ba14fa28dec3815a32d (patch)
tree955bc104ffb5d1ede2792a7cddbd67158a9ae4f9 /lib/libc/arch/aarch64
parent12055c650fe9308abb9c986260669a2d6fda5baa (diff)
The assembly for sigprocmask(2) had a tiny typo which made it jump to
the wrong location, thus not making it set SIG_BLOCK with a zero mask when attempting to read the signal mask (if set ptr is NULL). Instead an attempt to read the mask actually told the syscall to set the mask to zero.
Diffstat (limited to 'lib/libc/arch/aarch64')
-rw-r--r--lib/libc/arch/aarch64/sys/sigprocmask.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/libc/arch/aarch64/sys/sigprocmask.S b/lib/libc/arch/aarch64/sys/sigprocmask.S
index 6de70f6a1f5..7a9ea688f14 100644
--- a/lib/libc/arch/aarch64/sys/sigprocmask.S
+++ b/lib/libc/arch/aarch64/sys/sigprocmask.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: sigprocmask.S,v 1.1 2017/01/11 18:09:24 patrick Exp $ */
+/* $OpenBSD: sigprocmask.S,v 1.2 2017/02/22 22:18:51 patrick Exp $ */
/* $NetBSD: sigprocmask.S,v 1.5 2003/08/07 16:42:05 agc Exp $ */
/*-
@@ -35,12 +35,12 @@
#include "SYS.h"
SYSENTRY_HIDDEN(sigprocmask)
- cbz x1, 2f
+ cbz x1, 1f
ldr w1, [x1]
- b 2f
+ b 2f
1:
mov w0, #0x00000001
- mov x1, #0x00000000
+ mov w1, #0x00000000
2:
SYSTRAP(sigprocmask)