 9e2d59ad58
			
		
	
	
	9e2d59ad58
	
	
	
		
			
			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()
  ...
		
	
			
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			802 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			802 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _ASM_PARISC_SIGNAL_H
 | |
| #define _ASM_PARISC_SIGNAL_H
 | |
| 
 | |
| #include <uapi/asm/signal.h>
 | |
| 
 | |
| #define _NSIG		64
 | |
| /* bits-per-word, where word apparently means 'long' not 'int' */
 | |
| #define _NSIG_BPW	BITS_PER_LONG
 | |
| #define _NSIG_WORDS	(_NSIG / _NSIG_BPW)
 | |
| 
 | |
| # ifndef __ASSEMBLY__
 | |
| 
 | |
| /* Most things should be clean enough to redefine this at will, if care
 | |
|    is taken to make libc match.  */
 | |
| 
 | |
| typedef unsigned long old_sigset_t;		/* at least 32 bits */
 | |
| 
 | |
| typedef struct {
 | |
| 	/* next_signal() assumes this is a long - no choice */
 | |
| 	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>
 | |
| 
 | |
| #endif /* !__ASSEMBLY */
 | |
| #endif /* _ASM_PARISC_SIGNAL_H */
 |