diff options
author | Patrick Wildt <patrick@cvs.openbsd.org> | 2017-02-22 22:18:52 +0000 |
---|---|---|
committer | Patrick Wildt <patrick@cvs.openbsd.org> | 2017-02-22 22:18:52 +0000 |
commit | 69f6b3abd64bf1fa9b3e1ba14fa28dec3815a32d (patch) | |
tree | 955bc104ffb5d1ede2792a7cddbd67158a9ae4f9 /lib/libc/arch/aarch64 | |
parent | 12055c650fe9308abb9c986260669a2d6fda5baa (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.S | 8 |
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) |