consolidate kernel-side struct sigaction declarations
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 26 Nov 2012 03:24:19 +0000 (22:24 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 3 Feb 2013 20:09:22 +0000 (15:09 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
26 files changed:
arch/alpha/include/asm/signal.h
arch/arm/include/asm/signal.h
arch/avr32/include/asm/signal.h
arch/cris/include/asm/signal.h
arch/h8300/include/asm/signal.h
arch/ia64/include/asm/signal.h
arch/ia64/include/asm/unistd.h
arch/m32r/include/asm/signal.h
arch/m68k/include/asm/signal.h
arch/mips/include/asm/signal.h
arch/mips/include/uapi/asm/signal.h
arch/mn10300/include/asm/signal.h
arch/parisc/include/asm/signal.h
arch/powerpc/include/asm/signal.h
arch/powerpc/include/asm/syscalls.h
arch/powerpc/include/uapi/asm/signal.h
arch/s390/include/asm/signal.h
arch/sparc/include/asm/signal.h
arch/sparc/include/uapi/asm/signal.h
arch/sparc/kernel/systbls.h
arch/x86/include/asm/signal.h
arch/x86/include/uapi/asm/signal.h
arch/xtensa/include/asm/signal.h
include/linux/signal.h
include/linux/syscalls.h
include/uapi/asm-generic/signal.h

index 8c06bd1dfffc951cfce56da3b025163dd1d39a4d..963f0494dca78621715d19226f965e013bc41c2a 100644 (file)
@@ -22,12 +22,6 @@ struct osf_sigaction {
        int             sa_flags;
 };
 
-struct sigaction {
-       __sighandler_t  sa_handler;
-       unsigned long   sa_flags;
-       sigset_t        sa_mask;        /* mask last for extensibility */
-};
-
 #define __ARCH_HAS_KA_RESTORER
 #include <asm/sigcontext.h>
 #endif
index 58057023ff60a346fa63a08e4ee92749dd6a67e1..a5076b9bd463d376a2a95d31d353ad050b38f82d 100644 (file)
@@ -23,12 +23,7 @@ struct old_sigaction {
        __sigrestore_t sa_restorer;
 };
 
-struct sigaction {
-       __sighandler_t sa_handler;
-       unsigned long sa_flags;
-       __sigrestore_t sa_restorer;
-       sigset_t sa_mask;               /* mask last for extensibility */
-};
+#define __ARCH_HAS_SA_RESTORER
 
 #include <asm/sigcontext.h>
 #endif
index c8858f0cef3d681a5a157e48afa1ae02b9fafda0..d875eb6a3f3c2cd6cf28db5ffcf1f3e65fb0e66e 100644 (file)
@@ -23,12 +23,7 @@ typedef struct {
        unsigned long sig[_NSIG_WORDS];
 } sigset_t;
 
-struct sigaction {
-       __sighandler_t sa_handler;
-       unsigned long sa_flags;
-       __sigrestore_t sa_restorer;
-       sigset_t sa_mask;               /* mask last for extensibility */
-};
+#define __ARCH_HAS_SA_RESTORER
 
 #include <asm/sigcontext.h>
 #undef __HAVE_ARCH_SIG_BITOPS
index b0cd904ecd8af2551e3bcb6cbe785a6223ae30e9..b3650ab2c320c9a876c2f801470e2ad20d28f9bf 100644 (file)
@@ -23,12 +23,7 @@ struct old_sigaction {
        void (*sa_restorer)(void);
 };
 
-struct sigaction {
-       __sighandler_t sa_handler;
-       unsigned long sa_flags;
-       void (*sa_restorer)(void);
-       sigset_t sa_mask;               /* mask last for extensibility */
-};
+#define __ARCH_HAS_SA_RESTORER
 
 #include <asm/sigcontext.h>
 
index c05f937bb492dfa3d8d6c9c655a900266b596b83..9b18a09594612ef6ff922c814069a49571660eef 100644 (file)
@@ -23,12 +23,7 @@ struct old_sigaction {
        void (*sa_restorer)(void);
 };
 
-struct sigaction {
-       __sighandler_t sa_handler;
-       unsigned long sa_flags;
-       void (*sa_restorer)(void);
-       sigset_t sa_mask;               /* mask last for extensibility */
-};
+#define __ARCH_HAS_SA_RESTORER
 
 #include <asm/sigcontext.h>
 #undef __HAVE_ARCH_SIG_BITOPS
index a0d5f00ec8db9b6237155d175d9490181c2ab053..c62afa4a0dc2a94828c2f38112aa9d2da86e141b 100644 (file)
@@ -26,12 +26,6 @@ typedef struct {
        unsigned long sig[_NSIG_WORDS];
 } sigset_t;
 
-struct sigaction {
-       __sighandler_t sa_handler;
-       unsigned long sa_flags;
-       sigset_t sa_mask;               /* mask last for extensibility */
-};
-
 #  include <asm/sigcontext.h>
 
 # endif /* !__ASSEMBLY__ */
index bfbb109458bef89f021ae1daaa3adbcb4c32b588..c827049eb62cdf5b111ca0ad8418e1f9f4ebc6da 100644 (file)
@@ -47,7 +47,6 @@ asmlinkage unsigned long sys_mmap2(
                                int prot, int flags,
                                int fd, long pgoff);
 struct pt_regs;
-struct sigaction;
 asmlinkage long sys_ia64_pipe(void);
 
 /*
index 4699405f9f82f37bf266c9105602fc7c29a201cc..ed3ded6601e81dca6716d62ea13f48ec55c2f0b7 100644 (file)
@@ -16,13 +16,7 @@ typedef struct {
        unsigned long sig[_NSIG_WORDS];
 } sigset_t;
 
-struct sigaction {
-       __sighandler_t sa_handler;
-       unsigned long sa_flags;
-       __sigrestore_t sa_restorer;
-       sigset_t sa_mask;               /* mask last for extensibility */
-};
-
+#define __ARCH_HAS_SA_RESTORER
 #include <asm/sigcontext.h>
 
 #undef __HAVE_ARCH_SIG_BITOPS
index 1edd5f358c0f82b0e0726b7d92778d483fc07ff8..c7b4fb1fa14dda9ae9fe18d38346d61c70ecf1a1 100644 (file)
@@ -23,12 +23,7 @@ struct old_sigaction {
        __sigrestore_t sa_restorer;
 };
 
-struct sigaction {
-       __sighandler_t sa_handler;
-       unsigned long sa_flags;
-       __sigrestore_t sa_restorer;
-       sigset_t sa_mask;               /* mask last for extensibility */
-};
+#define __ARCH_HAS_SA_RESTORER
 
 #include <asm/sigcontext.h>
 
index cf4a08062d1d899c34c3487e56009fad7a1f4b5b..197f6367c201c122171b7e81cbcebc328a683a7f 100644 (file)
@@ -21,4 +21,6 @@
 #include <asm/sigcontext.h>
 #include <asm/siginfo.h>
 
+#define __ARCH_HAS_ODD_SIGACTION
+
 #endif /* _ASM_SIGNAL_H */
index 3c85fa07b3d35bdbc3f7c9bea3799d42c6ed16d9..6783c887a678d4756d12de9e69e4d9b68cf666ed 100644 (file)
@@ -96,11 +96,13 @@ typedef unsigned long old_sigset_t;         /* at least 32 bits */
 
 #include <asm-generic/signal-defs.h>
 
+#ifndef __KERNEL__
 struct sigaction {
        unsigned int    sa_flags;
        __sighandler_t  sa_handler;
        sigset_t        sa_mask;
 };
+#endif
 
 /* IRIX compatible stack_t  */
 typedef struct sigaltstack {
index d6f06540acb08c74187f287e9d73ac3aaaad418e..288ade5ec94ec6258de2835788723bcf6d2011d2 100644 (file)
@@ -33,12 +33,7 @@ struct old_sigaction {
        __sigrestore_t sa_restorer;
 };
 
-struct sigaction {
-       __sighandler_t sa_handler;
-       unsigned long sa_flags;
-       __sigrestore_t sa_restorer;
-       sigset_t sa_mask;               /* mask last for extensibility */
-};
+#define __ARCH_HAS_SA_RESTORER
 
 #include <asm/sigcontext.h>
 
index e42e05d69a1d8b11caa265972bde6d2548d5fc92..c8e4ec5a65824f54e729b26a09a23eca72f8f419 100644 (file)
@@ -24,11 +24,13 @@ typedef struct {
        unsigned long sig[_NSIG_WORDS];
 } sigset_t;
 
+#ifndef __KERNEL__
 struct sigaction {
        __sighandler_t sa_handler;
        unsigned long sa_flags;
        sigset_t sa_mask;               /* mask last for extensibility */
 };
+#endif
 
 #include <asm/sigcontext.h>
 
index a101637725a2485ba8651cae932f25d68440af78..fbe66c463891417b846864077732eda44eed68f6 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef _ASM_POWERPC_SIGNAL_H
 #define _ASM_POWERPC_SIGNAL_H
 
+#define __ARCH_HAS_SA_RESTORER
 #include <uapi/asm/signal.h>
 
 #endif /* _ASM_POWERPC_SIGNAL_H */
index 5c51659e61d50efd79b1f72199d6a2976129576c..21936530df089db12225c2aa133a01d6ef409749 100644 (file)
@@ -9,7 +9,6 @@
 
 struct pt_regs;
 struct rtas_args;
-struct sigaction;
 
 asmlinkage unsigned long sys_mmap(unsigned long addr, size_t len,
                unsigned long prot, unsigned long flags,
index a1a62469929290005066206e9377247da5fbf02e..6defdd65594eafbfdae7631eb73a8f2f0ba9b2c2 100644 (file)
@@ -97,12 +97,14 @@ struct old_sigaction {
        __sigrestore_t sa_restorer;
 };
 
+#ifndef __KERNEL__
 struct sigaction {
        __sighandler_t sa_handler;
        unsigned long sa_flags;
        __sigrestore_t sa_restorer;
        sigset_t sa_mask;               /* mask last for extensibility */
 };
+#endif
 
 typedef struct sigaltstack {
        void __user *ss_sp;
index 89853592e492a7c9f03ec21ee38325b834f168df..d26e30e31656d253cf743055955834991794eaa1 100644 (file)
@@ -28,11 +28,5 @@ struct old_sigaction {
         void (*sa_restorer)(void);
 };
 
-struct sigaction {
-        __sighandler_t sa_handler;
-        unsigned long sa_flags;
-        void (*sa_restorer)(void);
-        sigset_t sa_mask;               /* mask last for extensibility */
-};
-
+#define __ARCH_HAS_SA_RESTORER
 #endif
index e1881856a55c18e9b44fb0ff2618a04ec163b5cd..c33ce3f2ba84e36c7795aa2b39e008b9acc230aa 100644 (file)
@@ -22,6 +22,7 @@
 #define SA_STATIC_ALLOC         0x8000
 
 #define __ARCH_HAS_KA_RESTORER
+#define __ARCH_HAS_SA_RESTORER
 
 #endif /* !(__ASSEMBLY__) */
 #endif /* !(__SPARC_SIGNAL_H) */
index c4ffd6c971069cd19e2bfc2b1058c364bef44713..284836f0b7dcca0dcd69ecf206fc16689a0342e5 100644 (file)
@@ -153,12 +153,14 @@ struct sigstack {
 
 #include <asm-generic/signal-defs.h>
 
+#ifndef __KERNEL__
 struct __new_sigaction {
        __sighandler_t          sa_handler;
        unsigned long           sa_flags;
        __sigrestore_t          sa_restorer;  /* not used by Linux/SPARC yet */
        __new_sigset_t          sa_mask;
 };
+#endif
 
 struct __old_sigaction {
        __sighandler_t          sa_handler;
index 118759cd7342d0549389cc43a1d78ac261fc879b..1dd89dbac8d8ccc7884000d768ead07c5bf587c7 100644 (file)
@@ -3,8 +3,8 @@
 
 #include <linux/kernel.h>
 #include <linux/types.h>
+#include <linux/signal.h>
 #include <asm/utrap.h>
-#include <asm/signal.h>
 
 extern asmlinkage unsigned long sys_getpagesize(void);
 extern asmlinkage long sparc_pipe(struct pt_regs *regs);
index e7cf5005931a863e7ca4f9b226f884c72a19a060..9bda8224f3d5d68c3c4e9a72b6e07b3b49f4f1d1 100644 (file)
@@ -31,6 +31,9 @@ typedef sigset_t compat_sigset_t;
 #include <uapi/asm/signal.h>
 #ifndef __ASSEMBLY__
 extern void do_notify_resume(struct pt_regs *, void *, __u32);
+
+#define __ARCH_HAS_SA_RESTORER
+
 #ifdef __i386__
 struct old_sigaction {
        __sighandler_t sa_handler;
@@ -39,13 +42,6 @@ struct old_sigaction {
        __sigrestore_t sa_restorer;
 };
 
-struct sigaction {
-       __sighandler_t sa_handler;
-       unsigned long sa_flags;
-       __sigrestore_t sa_restorer;
-       sigset_t sa_mask;               /* mask last for extensibility */
-};
-
 #endif /* !__i386__ */
 #include <asm/sigcontext.h>
 
index e52443fc026bca108b953aacdeff7c05756b7ec3..8264f47cf53ed7de5b445350179b94935361463b 100644 (file)
@@ -95,9 +95,9 @@ typedef unsigned long sigset_t;
 #ifndef __ASSEMBLY__
 
 
-#ifdef __i386__
 # ifndef __KERNEL__
 /* Here we must cater to libcs that poke about in kernel headers.  */
+#ifdef __i386__
 
 struct sigaction {
        union {
@@ -112,7 +112,6 @@ struct sigaction {
 #define sa_handler     _u._sa_handler
 #define sa_sigaction   _u._sa_sigaction
 
-# endif /* ! __KERNEL__ */
 #else /* __i386__ */
 
 struct sigaction {
@@ -123,6 +122,7 @@ struct sigaction {
 };
 
 #endif /* !__i386__ */
+# endif /* ! __KERNEL__ */
 
 typedef struct sigaltstack {
        void __user *ss_sp;
index fd63b8f46a4b5964eabc92b27a30e73af1211184..de169b4eaeef51b4353003afc6e169f19f2114f6 100644 (file)
 #include <uapi/asm/signal.h>
 
 #ifndef __ASSEMBLY__
-struct sigaction {
-       __sighandler_t sa_handler;
-       unsigned long sa_flags;
-       void (*sa_restorer)(void);
-       sigset_t sa_mask;               /* mask last for extensibility */
-};
+#define __ARCH_HAS_SA_RESTORER
 
 #include <asm/sigcontext.h>
 
index 01451a156ff79adc8b170530e081ee6e74092a23..0b6878e882da62e91bcbd6f863eff97f3a350470 100644 (file)
@@ -249,6 +249,20 @@ extern void __set_current_blocked(const sigset_t *);
 extern int show_unhandled_signals;
 extern int sigsuspend(sigset_t *);
 
+struct sigaction {
+#ifndef __ARCH_HAS_ODD_SIGACTION
+       __sighandler_t  sa_handler;
+       unsigned long   sa_flags;
+#else
+       unsigned long   sa_flags;
+       __sighandler_t  sa_handler;
+#endif
+#ifdef __ARCH_HAS_SA_RESTORER
+       __sigrestore_t sa_restorer;
+#endif
+       sigset_t        sa_mask;        /* mask last for extensibility */
+};
+
 struct k_sigaction {
        struct sigaction sa;
 #ifdef __ARCH_HAS_KA_RESTORER
index d2dd2f63d220498f909e80e029817a2886093e6f..1c4938bf901eecdb8098cb3e44f22b19dae90ff2 100644 (file)
@@ -68,11 +68,11 @@ struct sigaltstack;
 #include <linux/types.h>
 #include <linux/aio_abi.h>
 #include <linux/capability.h>
+#include <linux/signal.h>
 #include <linux/list.h>
 #include <linux/bug.h>
 #include <linux/sem.h>
 #include <asm/siginfo.h>
-#include <asm/signal.h>
 #include <linux/unistd.h>
 #include <linux/quota.h>
 #include <linux/key.h>
index 21e59f36c61b12e99d2ea1a7d9a07140f804c3f2..9df61f1edb0f8048472bee5136f81097e47ac569 100644 (file)
@@ -93,6 +93,11 @@ typedef unsigned long old_sigset_t;
 
 #include <asm-generic/signal-defs.h>
 
+#ifdef SA_RESTORER
+#define __ARCH_HAS_SA_RESTORER
+#endif
+
+#ifndef __KERNEL__
 struct sigaction {
        __sighandler_t sa_handler;
        unsigned long sa_flags;
@@ -101,6 +106,7 @@ struct sigaction {
 #endif
        sigset_t sa_mask;               /* mask last for extensibility */
 };
+#endif
 
 typedef struct sigaltstack {
        void __user *ss_sp;