diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-30 08:37:38 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-30 08:37:38 -0700 |
commit | 87400e5406e215e9a1b43cf67794fbb34c15c342 (patch) | |
tree | cdce4a7566ced27a5cf77c65338ed1507e79b580 | |
parent | 0d4911081ce201f3e44bc8b32ac0f862d1260332 (diff) | |
download | linux-exynos-87400e5406e215e9a1b43cf67794fbb34c15c342.tar.gz linux-exynos-87400e5406e215e9a1b43cf67794fbb34c15c342.tar.bz2 linux-exynos-87400e5406e215e9a1b43cf67794fbb34c15c342.zip |
Fix up more fallout form alpha signal cleanups
Commit c52c2ddc1dfa ("alpha: switch osf_sigprocmask() to use of
sigprocmask()") had several problems. The more obvious compile issues
got fixed in commit 0f44fbd297e1 ("alpha: fix compile problem in
arch/alpha/kernel/signal.c"), but it also caused a regression.
Since _BLOCKABLE is already the set of signals that can be blocked, the
code should do "newmask & _BLOCKABLE" rather than inverting _BLOCKABLE
before masking.
Reported-by: Michael Cree <mcree@orcon.net.nz>
Patch-by: Al Viro <viro@zeniv.linux.org.uk>
Patch-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/alpha/kernel/signal.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/alpha/kernel/signal.c b/arch/alpha/kernel/signal.c index d290845aef59..6f7feb5db271 100644 --- a/arch/alpha/kernel/signal.c +++ b/arch/alpha/kernel/signal.c @@ -48,7 +48,7 @@ SYSCALL_DEFINE2(osf_sigprocmask, int, how, unsigned long, newmask) sigset_t mask; unsigned long res; - siginitset(&mask, newmask & ~_BLOCKABLE); + siginitset(&mask, newmask & _BLOCKABLE); res = sigprocmask(how, &mask, &oldmask); if (!res) { force_successful_syscall_return(); |