aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-11-25 21:20:05 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-02-03 15:09:22 -0500
commit92a3ce4a1e0047215aa0a0b30cc333bd32b866a8 (patch)
tree998edfb4fd30e0be9cc353c6d7f4381f8c5f5a09
parent6883da8c6c15e85e7750c94be49ea156ed341c05 (diff)
consolidate declarations of k_sigaction
Only alpha and sparc are unusual - they have ka_restorer in it. And nobody needs that exposed to userland. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--arch/alpha/include/asm/signal.h5
-rw-r--r--arch/arm/include/asm/signal.h4
-rw-r--r--arch/avr32/include/asm/signal.h4
-rw-r--r--arch/cris/include/asm/signal.h3
-rw-r--r--arch/h8300/include/asm/signal.h4
-rw-r--r--arch/ia64/include/asm/signal.h4
-rw-r--r--arch/m32r/include/asm/signal.h3
-rw-r--r--arch/m68k/include/asm/signal.h3
-rw-r--r--arch/mips/include/uapi/asm/signal.h4
-rw-r--r--arch/mn10300/include/asm/signal.h3
-rw-r--r--arch/parisc/include/asm/signal.h4
-rw-r--r--arch/powerpc/include/uapi/asm/signal.h4
-rw-r--r--arch/s390/include/asm/signal.h4
-rw-r--r--arch/sparc/include/asm/signal.h5
-rw-r--r--arch/x86/include/asm/signal.h5
-rw-r--r--arch/x86/include/uapi/asm/signal.h4
-rw-r--r--arch/xtensa/include/asm/signal.h4
-rw-r--r--include/linux/signal.h7
-rw-r--r--include/uapi/asm-generic/signal.h4
19 files changed, 9 insertions, 69 deletions
diff --git a/arch/alpha/include/asm/signal.h b/arch/alpha/include/asm/signal.h
index 8a1ac28cd562..8c06bd1dfffc 100644
--- a/arch/alpha/include/asm/signal.h
+++ b/arch/alpha/include/asm/signal.h
@@ -28,9 +28,6 @@ struct sigaction {
28 sigset_t sa_mask; /* mask last for extensibility */ 28 sigset_t sa_mask; /* mask last for extensibility */
29}; 29};
30 30
31struct k_sigaction { 31#define __ARCH_HAS_KA_RESTORER
32 struct sigaction sa;
33 __sigrestore_t ka_restorer;
34};
35#include <asm/sigcontext.h> 32#include <asm/sigcontext.h>
36#endif 33#endif
diff --git a/arch/arm/include/asm/signal.h b/arch/arm/include/asm/signal.h
index 9a0ea6ab988f..58057023ff60 100644
--- a/arch/arm/include/asm/signal.h
+++ b/arch/arm/include/asm/signal.h
@@ -30,9 +30,5 @@ struct sigaction {
30 sigset_t sa_mask; /* mask last for extensibility */ 30 sigset_t sa_mask; /* mask last for extensibility */
31}; 31};
32 32
33struct k_sigaction {
34 struct sigaction sa;
35};
36
37#include <asm/sigcontext.h> 33#include <asm/sigcontext.h>
38#endif 34#endif
diff --git a/arch/avr32/include/asm/signal.h b/arch/avr32/include/asm/signal.h
index 9326d182e9e5..c8858f0cef3d 100644
--- a/arch/avr32/include/asm/signal.h
+++ b/arch/avr32/include/asm/signal.h
@@ -30,10 +30,6 @@ struct sigaction {
30 sigset_t sa_mask; /* mask last for extensibility */ 30 sigset_t sa_mask; /* mask last for extensibility */
31}; 31};
32 32
33struct k_sigaction {
34 struct sigaction sa;
35};
36
37#include <asm/sigcontext.h> 33#include <asm/sigcontext.h>
38#undef __HAVE_ARCH_SIG_BITOPS 34#undef __HAVE_ARCH_SIG_BITOPS
39 35
diff --git a/arch/cris/include/asm/signal.h b/arch/cris/include/asm/signal.h
index c0cb1fd4644c..b0cd904ecd8a 100644
--- a/arch/cris/include/asm/signal.h
+++ b/arch/cris/include/asm/signal.h
@@ -30,9 +30,6 @@ struct sigaction {
30 sigset_t sa_mask; /* mask last for extensibility */ 30 sigset_t sa_mask; /* mask last for extensibility */
31}; 31};
32 32
33struct k_sigaction {
34 struct sigaction sa;
35};
36#include <asm/sigcontext.h> 33#include <asm/sigcontext.h>
37 34
38#endif 35#endif
diff --git a/arch/h8300/include/asm/signal.h b/arch/h8300/include/asm/signal.h
index 66c81c67e55d..c05f937bb492 100644
--- a/arch/h8300/include/asm/signal.h
+++ b/arch/h8300/include/asm/signal.h
@@ -30,10 +30,6 @@ struct sigaction {
30 sigset_t sa_mask; /* mask last for extensibility */ 30 sigset_t sa_mask; /* mask last for extensibility */
31}; 31};
32 32
33struct k_sigaction {
34 struct sigaction sa;
35};
36
37#include <asm/sigcontext.h> 33#include <asm/sigcontext.h>
38#undef __HAVE_ARCH_SIG_BITOPS 34#undef __HAVE_ARCH_SIG_BITOPS
39 35
diff --git a/arch/ia64/include/asm/signal.h b/arch/ia64/include/asm/signal.h
index 3a1b20e74c5c..a0d5f00ec8db 100644
--- a/arch/ia64/include/asm/signal.h
+++ b/arch/ia64/include/asm/signal.h
@@ -32,10 +32,6 @@ struct sigaction {
32 sigset_t sa_mask; /* mask last for extensibility */ 32 sigset_t sa_mask; /* mask last for extensibility */
33}; 33};
34 34
35struct k_sigaction {
36 struct sigaction sa;
37};
38
39# include <asm/sigcontext.h> 35# include <asm/sigcontext.h>
40 36
41# endif /* !__ASSEMBLY__ */ 37# endif /* !__ASSEMBLY__ */
diff --git a/arch/m32r/include/asm/signal.h b/arch/m32r/include/asm/signal.h
index a5ba4a217fb9..4699405f9f82 100644
--- a/arch/m32r/include/asm/signal.h
+++ b/arch/m32r/include/asm/signal.h
@@ -23,9 +23,6 @@ struct sigaction {
23 sigset_t sa_mask; /* mask last for extensibility */ 23 sigset_t sa_mask; /* mask last for extensibility */
24}; 24};
25 25
26struct k_sigaction {
27 struct sigaction sa;
28};
29#include <asm/sigcontext.h> 26#include <asm/sigcontext.h>
30 27
31#undef __HAVE_ARCH_SIG_BITOPS 28#undef __HAVE_ARCH_SIG_BITOPS
diff --git a/arch/m68k/include/asm/signal.h b/arch/m68k/include/asm/signal.h
index 9c8c46b06b0c..1edd5f358c0f 100644
--- a/arch/m68k/include/asm/signal.h
+++ b/arch/m68k/include/asm/signal.h
@@ -30,9 +30,6 @@ struct sigaction {
30 sigset_t sa_mask; /* mask last for extensibility */ 30 sigset_t sa_mask; /* mask last for extensibility */
31}; 31};
32 32
33struct k_sigaction {
34 struct sigaction sa;
35};
36#include <asm/sigcontext.h> 33#include <asm/sigcontext.h>
37 34
38#ifndef CONFIG_CPU_HAS_NO_BITFIELDS 35#ifndef CONFIG_CPU_HAS_NO_BITFIELDS
diff --git a/arch/mips/include/uapi/asm/signal.h b/arch/mips/include/uapi/asm/signal.h
index 770732cb8d03..3c85fa07b3d3 100644
--- a/arch/mips/include/uapi/asm/signal.h
+++ b/arch/mips/include/uapi/asm/signal.h
@@ -102,10 +102,6 @@ struct sigaction {
102 sigset_t sa_mask; 102 sigset_t sa_mask;
103}; 103};
104 104
105struct k_sigaction {
106 struct sigaction sa;
107};
108
109/* IRIX compatible stack_t */ 105/* IRIX compatible stack_t */
110typedef struct sigaltstack { 106typedef struct sigaltstack {
111 void __user *ss_sp; 107 void __user *ss_sp;
diff --git a/arch/mn10300/include/asm/signal.h b/arch/mn10300/include/asm/signal.h
index d280e9780793..d6f06540acb0 100644
--- a/arch/mn10300/include/asm/signal.h
+++ b/arch/mn10300/include/asm/signal.h
@@ -40,9 +40,6 @@ struct sigaction {
40 sigset_t sa_mask; /* mask last for extensibility */ 40 sigset_t sa_mask; /* mask last for extensibility */
41}; 41};
42 42
43struct k_sigaction {
44 struct sigaction sa;
45};
46#include <asm/sigcontext.h> 43#include <asm/sigcontext.h>
47 44
48#endif /* _ASM_SIGNAL_H */ 45#endif /* _ASM_SIGNAL_H */
diff --git a/arch/parisc/include/asm/signal.h b/arch/parisc/include/asm/signal.h
index 0fdb3c835952..e42e05d69a1d 100644
--- a/arch/parisc/include/asm/signal.h
+++ b/arch/parisc/include/asm/signal.h
@@ -30,10 +30,6 @@ struct sigaction {
30 sigset_t sa_mask; /* mask last for extensibility */ 30 sigset_t sa_mask; /* mask last for extensibility */
31}; 31};
32 32
33struct k_sigaction {
34 struct sigaction sa;
35};
36
37#include <asm/sigcontext.h> 33#include <asm/sigcontext.h>
38 34
39#endif /* !__ASSEMBLY */ 35#endif /* !__ASSEMBLY */
diff --git a/arch/powerpc/include/uapi/asm/signal.h b/arch/powerpc/include/uapi/asm/signal.h
index e079fb39d5bc..a1a624699292 100644
--- a/arch/powerpc/include/uapi/asm/signal.h
+++ b/arch/powerpc/include/uapi/asm/signal.h
@@ -104,10 +104,6 @@ struct sigaction {
104 sigset_t sa_mask; /* mask last for extensibility */ 104 sigset_t sa_mask; /* mask last for extensibility */
105}; 105};
106 106
107struct k_sigaction {
108 struct sigaction sa;
109};
110
111typedef struct sigaltstack { 107typedef struct sigaltstack {
112 void __user *ss_sp; 108 void __user *ss_sp;
113 int ss_flags; 109 int ss_flags;
diff --git a/arch/s390/include/asm/signal.h b/arch/s390/include/asm/signal.h
index db7ddfaf5b79..89853592e492 100644
--- a/arch/s390/include/asm/signal.h
+++ b/arch/s390/include/asm/signal.h
@@ -35,8 +35,4 @@ struct sigaction {
35 sigset_t sa_mask; /* mask last for extensibility */ 35 sigset_t sa_mask; /* mask last for extensibility */
36}; 36};
37 37
38struct k_sigaction {
39 struct sigaction sa;
40};
41
42#endif 38#endif
diff --git a/arch/sparc/include/asm/signal.h b/arch/sparc/include/asm/signal.h
index 77b85850d543..e1881856a55c 100644
--- a/arch/sparc/include/asm/signal.h
+++ b/arch/sparc/include/asm/signal.h
@@ -21,10 +21,7 @@
21 */ 21 */
22#define SA_STATIC_ALLOC 0x8000 22#define SA_STATIC_ALLOC 0x8000
23 23
24struct k_sigaction { 24#define __ARCH_HAS_KA_RESTORER
25 struct __new_sigaction sa;
26 void __user *ka_restorer;
27};
28 25
29#endif /* !(__ASSEMBLY__) */ 26#endif /* !(__ASSEMBLY__) */
30#endif /* !(__SPARC_SIGNAL_H) */ 27#endif /* !(__SPARC_SIGNAL_H) */
diff --git a/arch/x86/include/asm/signal.h b/arch/x86/include/asm/signal.h
index 216bf364a7e7..e7cf5005931a 100644
--- a/arch/x86/include/asm/signal.h
+++ b/arch/x86/include/asm/signal.h
@@ -46,11 +46,6 @@ struct sigaction {
46 sigset_t sa_mask; /* mask last for extensibility */ 46 sigset_t sa_mask; /* mask last for extensibility */
47}; 47};
48 48
49struct k_sigaction {
50 struct sigaction sa;
51};
52
53#else /* __i386__ */
54#endif /* !__i386__ */ 49#endif /* !__i386__ */
55#include <asm/sigcontext.h> 50#include <asm/sigcontext.h>
56 51
diff --git a/arch/x86/include/uapi/asm/signal.h b/arch/x86/include/uapi/asm/signal.h
index aa7d6ae39e0e..e52443fc026b 100644
--- a/arch/x86/include/uapi/asm/signal.h
+++ b/arch/x86/include/uapi/asm/signal.h
@@ -122,10 +122,6 @@ struct sigaction {
122 sigset_t sa_mask; /* mask last for extensibility */ 122 sigset_t sa_mask; /* mask last for extensibility */
123}; 123};
124 124
125struct k_sigaction {
126 struct sigaction sa;
127};
128
129#endif /* !__i386__ */ 125#endif /* !__i386__ */
130 126
131typedef struct sigaltstack { 127typedef struct sigaltstack {
diff --git a/arch/xtensa/include/asm/signal.h b/arch/xtensa/include/asm/signal.h
index 6f586bd90e18..fd63b8f46a4b 100644
--- a/arch/xtensa/include/asm/signal.h
+++ b/arch/xtensa/include/asm/signal.h
@@ -22,10 +22,6 @@ struct sigaction {
22 sigset_t sa_mask; /* mask last for extensibility */ 22 sigset_t sa_mask; /* mask last for extensibility */
23}; 23};
24 24
25struct k_sigaction {
26 struct sigaction sa;
27};
28
29#include <asm/sigcontext.h> 25#include <asm/sigcontext.h>
30 26
31#endif /* __ASSEMBLY__ */ 27#endif /* __ASSEMBLY__ */
diff --git a/include/linux/signal.h b/include/linux/signal.h
index ed1e71f1aac7..01451a156ff7 100644
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -249,6 +249,13 @@ extern void __set_current_blocked(const sigset_t *);
249extern int show_unhandled_signals; 249extern int show_unhandled_signals;
250extern int sigsuspend(sigset_t *); 250extern int sigsuspend(sigset_t *);
251 251
252struct k_sigaction {
253 struct sigaction sa;
254#ifdef __ARCH_HAS_KA_RESTORER
255 __sigrestore_t ka_restorer;
256#endif
257};
258
252extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie); 259extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie);
253extern void signal_delivered(int sig, siginfo_t *info, struct k_sigaction *ka, struct pt_regs *regs, int stepping); 260extern void signal_delivered(int sig, siginfo_t *info, struct k_sigaction *ka, struct pt_regs *regs, int stepping);
254extern void exit_signals(struct task_struct *tsk); 261extern void exit_signals(struct task_struct *tsk);
diff --git a/include/uapi/asm-generic/signal.h b/include/uapi/asm-generic/signal.h
index 6fae30fd16ab..21e59f36c61b 100644
--- a/include/uapi/asm-generic/signal.h
+++ b/include/uapi/asm-generic/signal.h
@@ -102,10 +102,6 @@ struct sigaction {
102 sigset_t sa_mask; /* mask last for extensibility */ 102 sigset_t sa_mask; /* mask last for extensibility */
103}; 103};
104 104
105struct k_sigaction {
106 struct sigaction sa;
107};
108
109typedef struct sigaltstack { 105typedef struct sigaltstack {
110 void __user *ss_sp; 106 void __user *ss_sp;
111 int ss_flags; 107 int ss_flags;