aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/include/asm/thread_info.h3
-rw-r--r--arch/x86/kernel/signal.c16
2 files changed, 1 insertions, 18 deletions
diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h
index 1d4e4f279a32..2df52baf5228 100644
--- a/arch/x86/include/asm/thread_info.h
+++ b/arch/x86/include/asm/thread_info.h
@@ -19,13 +19,11 @@
19 */ 19 */
20#ifndef __ASSEMBLY__ 20#ifndef __ASSEMBLY__
21struct task_struct; 21struct task_struct;
22struct exec_domain;
23#include <asm/processor.h> 22#include <asm/processor.h>
24#include <linux/atomic.h> 23#include <linux/atomic.h>
25 24
26struct thread_info { 25struct thread_info {
27 struct task_struct *task; /* main task structure */ 26 struct task_struct *task; /* main task structure */
28 struct exec_domain *exec_domain; /* execution domain */
29 __u32 flags; /* low level flags */ 27 __u32 flags; /* low level flags */
30 __u32 status; /* thread synchronous flags */ 28 __u32 status; /* thread synchronous flags */
31 __u32 cpu; /* current CPU */ 29 __u32 cpu; /* current CPU */
@@ -39,7 +37,6 @@ struct thread_info {
39#define INIT_THREAD_INFO(tsk) \ 37#define INIT_THREAD_INFO(tsk) \
40{ \ 38{ \
41 .task = &tsk, \ 39 .task = &tsk, \
42 .exec_domain = &default_exec_domain, \
43 .flags = 0, \ 40 .flags = 0, \
44 .cpu = 0, \ 41 .cpu = 0, \
45 .saved_preempt_count = INIT_PREEMPT_COUNT, \ 42 .saved_preempt_count = INIT_PREEMPT_COUNT, \
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c
index e5042463c1bc..5ddc7ec20e75 100644
--- a/arch/x86/kernel/signal.c
+++ b/arch/x86/kernel/signal.c
@@ -592,24 +592,10 @@ badframe:
592 return 0; 592 return 0;
593} 593}
594 594
595/*
596 * OK, we're invoking a handler:
597 */
598static int signr_convert(int sig)
599{
600#ifdef CONFIG_X86_32
601 struct thread_info *info = current_thread_info();
602
603 if (info->exec_domain && info->exec_domain->signal_invmap && sig < 32)
604 return info->exec_domain->signal_invmap[sig];
605#endif /* CONFIG_X86_32 */
606 return sig;
607}
608
609static int 595static int
610setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs) 596setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs)
611{ 597{
612 int usig = signr_convert(ksig->sig); 598 int usig = ksig->sig;
613 sigset_t *set = sigmask_to_save(); 599 sigset_t *set = sigmask_to_save();
614 compat_sigset_t *cset = (compat_sigset_t *) set; 600 compat_sigset_t *cset = (compat_sigset_t *) set;
615 601