diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-23 21:50:11 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-23 21:50:11 -0500 |
| commit | 9e2d59ad580d590134285f361a0e80f0e98c0207 (patch) | |
| tree | f3232be75781484193413f32ec82c21f6d8eb76e /include/uapi | |
| parent | 5ce1a70e2f00f0bce0cab57f798ca354b9496169 (diff) | |
| parent | 235b80226b986dabcbba844968f7807866bd0bfe (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
Pull signal handling cleanups from Al Viro:
"This is the first pile; another one will come a bit later and will
contain SYSCALL_DEFINE-related patches.
- a bunch of signal-related syscalls (both native and compat)
unified.
- a bunch of compat syscalls switched to COMPAT_SYSCALL_DEFINE
(fixing several potential problems with missing argument
validation, while we are at it)
- a lot of now-pointless wrappers killed
- a couple of architectures (cris and hexagon) forgot to save
altstack settings into sigframe, even though they used the
(uninitialized) values in sigreturn; fixed.
- microblaze fixes for delivery of multiple signals arriving at once
- saner set of helpers for signal delivery introduced, several
architectures switched to using those."
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (143 commits)
x86: convert to ksignal
sparc: convert to ksignal
arm: switch to struct ksignal * passing
alpha: pass k_sigaction and siginfo_t using ksignal pointer
burying unused conditionals
make do_sigaltstack() static
arm64: switch to generic old sigaction() (compat-only)
arm64: switch to generic compat rt_sigaction()
arm64: switch compat to generic old sigsuspend
arm64: switch to generic compat rt_sigqueueinfo()
arm64: switch to generic compat rt_sigpending()
arm64: switch to generic compat rt_sigprocmask()
arm64: switch to generic sigaltstack
sparc: switch to generic old sigsuspend
sparc: COMPAT_SYSCALL_DEFINE does all sign-extension as well as SYSCALL_DEFINE
sparc: kill sign-extending wrappers for native syscalls
kill sparc32_open()
sparc: switch to use of generic old sigaction
sparc: switch sys_compat_rt_sigaction() to COMPAT_SYSCALL_DEFINE
mips: switch to generic sys_fork() and sys_clone()
...
Diffstat (limited to 'include/uapi')
| -rw-r--r-- | include/uapi/asm-generic/signal.h | 10 | ||||
| -rw-r--r-- | include/uapi/asm-generic/unistd.h | 4 |
2 files changed, 8 insertions, 6 deletions
diff --git a/include/uapi/asm-generic/signal.h b/include/uapi/asm-generic/signal.h index 6fae30fd16ab..9df61f1edb0f 100644 --- a/include/uapi/asm-generic/signal.h +++ b/include/uapi/asm-generic/signal.h | |||
| @@ -93,6 +93,11 @@ typedef unsigned long old_sigset_t; | |||
| 93 | 93 | ||
| 94 | #include <asm-generic/signal-defs.h> | 94 | #include <asm-generic/signal-defs.h> |
| 95 | 95 | ||
| 96 | #ifdef SA_RESTORER | ||
| 97 | #define __ARCH_HAS_SA_RESTORER | ||
| 98 | #endif | ||
| 99 | |||
| 100 | #ifndef __KERNEL__ | ||
| 96 | struct sigaction { | 101 | struct sigaction { |
| 97 | __sighandler_t sa_handler; | 102 | __sighandler_t sa_handler; |
| 98 | unsigned long sa_flags; | 103 | unsigned long sa_flags; |
| @@ -101,10 +106,7 @@ struct sigaction { | |||
| 101 | #endif | 106 | #endif |
| 102 | sigset_t sa_mask; /* mask last for extensibility */ | 107 | sigset_t sa_mask; /* mask last for extensibility */ |
| 103 | }; | 108 | }; |
| 104 | 109 | #endif | |
| 105 | struct k_sigaction { | ||
| 106 | struct sigaction sa; | ||
| 107 | }; | ||
| 108 | 110 | ||
| 109 | typedef struct sigaltstack { | 111 | typedef struct sigaltstack { |
| 110 | void __user *ss_sp; | 112 | void __user *ss_sp; |
diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h index 2c531f478410..0cc74c4403e4 100644 --- a/include/uapi/asm-generic/unistd.h +++ b/include/uapi/asm-generic/unistd.h | |||
| @@ -402,9 +402,9 @@ __SC_COMP(__NR_rt_sigsuspend, sys_rt_sigsuspend, compat_sys_rt_sigsuspend) | |||
| 402 | #define __NR_rt_sigaction 134 | 402 | #define __NR_rt_sigaction 134 |
| 403 | __SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction) | 403 | __SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction) |
| 404 | #define __NR_rt_sigprocmask 135 | 404 | #define __NR_rt_sigprocmask 135 |
| 405 | __SYSCALL(__NR_rt_sigprocmask, sys_rt_sigprocmask) | 405 | __SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask) |
| 406 | #define __NR_rt_sigpending 136 | 406 | #define __NR_rt_sigpending 136 |
| 407 | __SYSCALL(__NR_rt_sigpending, sys_rt_sigpending) | 407 | __SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending) |
| 408 | #define __NR_rt_sigtimedwait 137 | 408 | #define __NR_rt_sigtimedwait 137 |
| 409 | __SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \ | 409 | __SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \ |
| 410 | compat_sys_rt_sigtimedwait) | 410 | compat_sys_rt_sigtimedwait) |
