提交 7bd83010 编写于 作者: R Richard Weinberger

frv: Remove signal translation and exec_domain

As execution domain support is gone we can remove
signal translation from the signal code and remove
exec_domain from thread_info.
Signed-off-by: NRichard Weinberger <richard@nod.at>
上级 61622aa3
...@@ -151,7 +151,7 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) ...@@ -151,7 +151,7 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
frame = get_sigframe(ksig, sizeof(*frame)); frame = get_sigframe(ksig, sizeof(*frame));
err |= __put_user(sig->sig, &frame->sig); err |= __put_user(ksig->sig, &frame->sig);
err |= __put_user(&frame->info, &frame->pinfo); err |= __put_user(&frame->info, &frame->pinfo);
err |= __put_user(&frame->uc, &frame->puc); err |= __put_user(&frame->uc, &frame->puc);
......
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
struct thread_info { struct thread_info {
struct task_struct *task; /* main task structure */ struct task_struct *task; /* main task structure */
struct exec_domain *exec_domain; /* execution domain */
unsigned long flags; /* low level flags */ unsigned long flags; /* low level flags */
unsigned long status; /* thread-synchronous flags */ unsigned long status; /* thread-synchronous flags */
__u32 cpu; /* current CPU */ __u32 cpu; /* current CPU */
...@@ -59,7 +58,6 @@ struct thread_info { ...@@ -59,7 +58,6 @@ struct thread_info {
#define INIT_THREAD_INFO(tsk) \ #define INIT_THREAD_INFO(tsk) \
{ \ { \
.task = &tsk, \ .task = &tsk, \
.exec_domain = &default_exec_domain, \
.flags = 0, \ .flags = 0, \
.cpu = 0, \ .cpu = 0, \
.preempt_count = INIT_PREEMPT_COUNT, \ .preempt_count = INIT_PREEMPT_COUNT, \
......
...@@ -34,7 +34,6 @@ void foo(void) ...@@ -34,7 +34,6 @@ void foo(void)
{ {
/* offsets into the thread_info structure */ /* offsets into the thread_info structure */
OFFSET(TI_TASK, thread_info, task); OFFSET(TI_TASK, thread_info, task);
OFFSET(TI_EXEC_DOMAIN, thread_info, exec_domain);
OFFSET(TI_FLAGS, thread_info, flags); OFFSET(TI_FLAGS, thread_info, flags);
OFFSET(TI_STATUS, thread_info, status); OFFSET(TI_STATUS, thread_info, status);
OFFSET(TI_CPU, thread_info, cpu); OFFSET(TI_CPU, thread_info, cpu);
......
...@@ -174,7 +174,7 @@ static inline void __user *get_sigframe(struct ksignal *ksig, ...@@ -174,7 +174,7 @@ static inline void __user *get_sigframe(struct ksignal *ksig,
static int setup_frame(struct ksignal *ksig, sigset_t *set) static int setup_frame(struct ksignal *ksig, sigset_t *set)
{ {
struct sigframe __user *frame; struct sigframe __user *frame;
int rsig, sig = ksig->sig; int sig = ksig->sig;
set_fs(USER_DS); set_fs(USER_DS);
...@@ -183,13 +183,7 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set) ...@@ -183,13 +183,7 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set)
if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
return -EFAULT; return -EFAULT;
rsig = sig; if (__put_user(sig, &frame->sig) < 0)
if (sig < 32 &&
__current_thread_info->exec_domain &&
__current_thread_info->exec_domain->signal_invmap)
rsig = __current_thread_info->exec_domain->signal_invmap[sig];
if (__put_user(rsig, &frame->sig) < 0)
return -EFAULT; return -EFAULT;
if (setup_sigcontext(&frame->sc, set->sig[0])) if (setup_sigcontext(&frame->sc, set->sig[0]))
...@@ -255,7 +249,7 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set) ...@@ -255,7 +249,7 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set)
static int setup_rt_frame(struct ksignal *ksig, sigset_t *set) static int setup_rt_frame(struct ksignal *ksig, sigset_t *set)
{ {
struct rt_sigframe __user *frame; struct rt_sigframe __user *frame;
int rsig, sig = ksig->sig; int sig = ksig->sig;
set_fs(USER_DS); set_fs(USER_DS);
...@@ -264,13 +258,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set) ...@@ -264,13 +258,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set)
if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
return -EFAULT; return -EFAULT;
rsig = sig; if (__put_user(sig, &frame->sig) ||
if (sig < 32 &&
__current_thread_info->exec_domain &&
__current_thread_info->exec_domain->signal_invmap)
rsig = __current_thread_info->exec_domain->signal_invmap[sig];
if (__put_user(rsig, &frame->sig) ||
__put_user(&frame->info, &frame->pinfo) || __put_user(&frame->info, &frame->pinfo) ||
__put_user(&frame->uc, &frame->puc)) __put_user(&frame->uc, &frame->puc))
return -EFAULT; return -EFAULT;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册