Skip to content

Commit

Permalink
consolidate kernel-side struct sigaction declarations
Browse files Browse the repository at this point in the history
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed Feb 3, 2013
1 parent 92a3ce4 commit 574c486
Show file tree
Hide file tree
Showing 26 changed files with 48 additions and 81 deletions.
6 changes: 0 additions & 6 deletions arch/alpha/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
7 changes: 1 addition & 6 deletions arch/arm/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
7 changes: 1 addition & 6 deletions arch/avr32/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 1 addition & 6 deletions arch/cris/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down
7 changes: 1 addition & 6 deletions arch/h8300/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 0 additions & 6 deletions arch/ia64/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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__ */
Expand Down
1 change: 0 additions & 1 deletion arch/ia64/include/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);

/*
Expand Down
8 changes: 1 addition & 7 deletions arch/m32r/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 1 addition & 6 deletions arch/m68k/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down
2 changes: 2 additions & 0 deletions arch/mips/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,6 @@
#include <asm/sigcontext.h>
#include <asm/siginfo.h>

#define __ARCH_HAS_ODD_SIGACTION

#endif /* _ASM_SIGNAL_H */
2 changes: 2 additions & 0 deletions arch/mips/include/uapi/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
7 changes: 1 addition & 6 deletions arch/mn10300/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down
2 changes: 2 additions & 0 deletions arch/parisc/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/include/asm/signal.h
Original file line number Diff line number Diff line change
@@ -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 */
1 change: 0 additions & 1 deletion arch/powerpc/include/asm/syscalls.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
2 changes: 2 additions & 0 deletions arch/powerpc/include/uapi/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
8 changes: 1 addition & 7 deletions arch/s390/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
1 change: 1 addition & 0 deletions arch/sparc/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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) */
2 changes: 2 additions & 0 deletions arch/sparc/include/uapi/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion arch/sparc/kernel/systbls.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
10 changes: 3 additions & 7 deletions arch/x86/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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>

Expand Down
4 changes: 2 additions & 2 deletions arch/x86/include/uapi/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -112,7 +112,6 @@ struct sigaction {
#define sa_handler _u._sa_handler
#define sa_sigaction _u._sa_sigaction

# endif /* ! __KERNEL__ */
#else /* __i386__ */

struct sigaction {
Expand All @@ -123,6 +122,7 @@ struct sigaction {
};

#endif /* !__i386__ */
# endif /* ! __KERNEL__ */

typedef struct sigaltstack {
void __user *ss_sp;
Expand Down
7 changes: 1 addition & 6 deletions arch/xtensa/include/asm/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,7 @@
#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>

Expand Down
14 changes: 14 additions & 0 deletions include/linux/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion include/linux/syscalls.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
6 changes: 6 additions & 0 deletions include/uapi/asm-generic/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -101,6 +106,7 @@ struct sigaction {
#endif
sigset_t sa_mask; /* mask last for extensibility */
};
#endif

typedef struct sigaltstack {
void __user *ss_sp;
Expand Down

0 comments on commit 574c486

Please sign in to comment.