x86: Move some signal-handling definitions to a common header
There are some definitions which are duplicated between
kernel/signal.c and ia32/ia32_signal.c; move them to a common header
file.
Rather than adding stuff to existing header files which contain data
structures, create a new header file; hence the slightly odd name
("all the good ones were taken.")
Note: nothing relied on signal_fault() being defined in
<asm/ptrace.h>.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
			
			
This commit is contained in:
		
							parent
							
								
									ea499fec48
								
							
						
					
					
						commit
						f28f0c2357
					
				| @ -12,10 +12,8 @@ | ||||
| #include <linux/mm.h> | ||||
| #include <linux/smp.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/signal.h> | ||||
| #include <linux/errno.h> | ||||
| #include <linux/wait.h> | ||||
| #include <linux/ptrace.h> | ||||
| #include <linux/unistd.h> | ||||
| #include <linux/stddef.h> | ||||
| #include <linux/personality.h> | ||||
| @ -31,16 +29,10 @@ | ||||
| #include <asm/proto.h> | ||||
| #include <asm/vdso.h> | ||||
| #include <asm/sigframe.h> | ||||
| #include <asm/sighandling.h> | ||||
| #include <asm/sys_ia32.h> | ||||
| 
 | ||||
| #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) | ||||
| 
 | ||||
| #define FIX_EFLAGS	(X86_EFLAGS_AC | X86_EFLAGS_OF | \ | ||||
| 			 X86_EFLAGS_DF | X86_EFLAGS_TF | X86_EFLAGS_SF | \ | ||||
| 			 X86_EFLAGS_ZF | X86_EFLAGS_AF | X86_EFLAGS_PF | \ | ||||
| 			 X86_EFLAGS_CF) | ||||
| 
 | ||||
| void signal_fault(struct pt_regs *regs, void __user *frame, char *where); | ||||
| #define FIX_EFLAGS	__FIX_EFLAGS | ||||
| 
 | ||||
| int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from) | ||||
| { | ||||
|  | ||||
| @ -145,7 +145,6 @@ extern unsigned long | ||||
| convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs); | ||||
| extern void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs, | ||||
| 			 int error_code, int si_code); | ||||
| void signal_fault(struct pt_regs *regs, void __user *frame, char *where); | ||||
| 
 | ||||
| extern long syscall_trace_enter(struct pt_regs *); | ||||
| extern void syscall_trace_leave(struct pt_regs *); | ||||
|  | ||||
							
								
								
									
										19
									
								
								arch/x86/include/asm/sighandling.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								arch/x86/include/asm/sighandling.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | ||||
| #ifndef _ASM_X86_SIGHANDLING_H | ||||
| #define _ASM_X86_SIGHANDLING_H | ||||
| 
 | ||||
| #include <linux/compiler.h> | ||||
| #include <linux/ptrace.h> | ||||
| #include <linux/signal.h> | ||||
| 
 | ||||
| #include <asm/processor-flags.h> | ||||
| 
 | ||||
| #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) | ||||
| 
 | ||||
| #define __FIX_EFLAGS	(X86_EFLAGS_AC | X86_EFLAGS_OF | \ | ||||
| 			 X86_EFLAGS_DF | X86_EFLAGS_TF | X86_EFLAGS_SF | \ | ||||
| 			 X86_EFLAGS_ZF | X86_EFLAGS_AF | X86_EFLAGS_PF | \ | ||||
| 			 X86_EFLAGS_CF) | ||||
| 
 | ||||
| void signal_fault(struct pt_regs *regs, void __user *frame, char *where); | ||||
| 
 | ||||
| #endif /* _ASM_X86_SIGHANDLING_H */ | ||||
| @ -10,10 +10,8 @@ | ||||
| #include <linux/mm.h> | ||||
| #include <linux/smp.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/signal.h> | ||||
| #include <linux/errno.h> | ||||
| #include <linux/wait.h> | ||||
| #include <linux/ptrace.h> | ||||
| #include <linux/tracehook.h> | ||||
| #include <linux/unistd.h> | ||||
| #include <linux/stddef.h> | ||||
| @ -26,6 +24,7 @@ | ||||
| #include <asm/i387.h> | ||||
| #include <asm/vdso.h> | ||||
| #include <asm/mce.h> | ||||
| #include <asm/sighandling.h> | ||||
| 
 | ||||
| #ifdef CONFIG_X86_64 | ||||
| #include <asm/proto.h> | ||||
| @ -37,13 +36,6 @@ | ||||
| 
 | ||||
| #include <asm/sigframe.h> | ||||
| 
 | ||||
| #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) | ||||
| 
 | ||||
| #define __FIX_EFLAGS	(X86_EFLAGS_AC | X86_EFLAGS_OF | \ | ||||
| 			 X86_EFLAGS_DF | X86_EFLAGS_TF | X86_EFLAGS_SF | \ | ||||
| 			 X86_EFLAGS_ZF | X86_EFLAGS_AF | X86_EFLAGS_PF | \ | ||||
| 			 X86_EFLAGS_CF) | ||||
| 
 | ||||
| #ifdef CONFIG_X86_32 | ||||
| # define FIX_EFLAGS	(__FIX_EFLAGS | X86_EFLAGS_RF) | ||||
| #else | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user