diff options
author | Richard Weinberger <richard@nod.at> | 2014-07-13 09:24:03 -0400 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2015-04-12 14:58:24 -0400 |
commit | a4980448ed658db313da3195bcca634c7a5adafa (patch) | |
tree | f3871d68c77b5a823f866f272e61957f38091d9d /arch/arm/kernel | |
parent | 973f911f55a0e510dd6db8bbb29cd82ff138d3c0 (diff) |
arm: 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: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/asm-offsets.c | 1 | ||||
-rw-r--r-- | arch/arm/kernel/signal.c | 13 | ||||
-rw-r--r-- | arch/arm/kernel/traps.c | 6 |
3 files changed, 3 insertions, 17 deletions
diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c index 2d2d6087b9b1..70d277ce235f 100644 --- a/arch/arm/kernel/asm-offsets.c +++ b/arch/arm/kernel/asm-offsets.c | |||
@@ -66,7 +66,6 @@ int main(void) | |||
66 | DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); | 66 | DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); |
67 | DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit)); | 67 | DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit)); |
68 | DEFINE(TI_TASK, offsetof(struct thread_info, task)); | 68 | DEFINE(TI_TASK, offsetof(struct thread_info, task)); |
69 | DEFINE(TI_EXEC_DOMAIN, offsetof(struct thread_info, exec_domain)); | ||
70 | DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); | 69 | DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); |
71 | DEFINE(TI_CPU_DOMAIN, offsetof(struct thread_info, cpu_domain)); | 70 | DEFINE(TI_CPU_DOMAIN, offsetof(struct thread_info, cpu_domain)); |
72 | DEFINE(TI_CPU_SAVE, offsetof(struct thread_info, cpu_context)); | 71 | DEFINE(TI_CPU_SAVE, offsetof(struct thread_info, cpu_context)); |
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index 023ac905e4c3..423663e23791 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c | |||
@@ -318,17 +318,6 @@ get_sigframe(struct ksignal *ksig, struct pt_regs *regs, int framesize) | |||
318 | return frame; | 318 | return frame; |
319 | } | 319 | } |
320 | 320 | ||
321 | /* | ||
322 | * translate the signal | ||
323 | */ | ||
324 | static inline int map_sig(int sig) | ||
325 | { | ||
326 | struct thread_info *thread = current_thread_info(); | ||
327 | if (sig < 32 && thread->exec_domain && thread->exec_domain->signal_invmap) | ||
328 | sig = thread->exec_domain->signal_invmap[sig]; | ||
329 | return sig; | ||
330 | } | ||
331 | |||
332 | static int | 321 | static int |
333 | setup_return(struct pt_regs *regs, struct ksignal *ksig, | 322 | setup_return(struct pt_regs *regs, struct ksignal *ksig, |
334 | unsigned long __user *rc, void __user *frame) | 323 | unsigned long __user *rc, void __user *frame) |
@@ -412,7 +401,7 @@ setup_return(struct pt_regs *regs, struct ksignal *ksig, | |||
412 | } | 401 | } |
413 | } | 402 | } |
414 | 403 | ||
415 | regs->ARM_r0 = map_sig(ksig->sig); | 404 | regs->ARM_r0 = ksig->sig; |
416 | regs->ARM_sp = (unsigned long)frame; | 405 | regs->ARM_sp = (unsigned long)frame; |
417 | regs->ARM_lr = retcode; | 406 | regs->ARM_lr = retcode; |
418 | regs->ARM_pc = handler; | 407 | regs->ARM_pc = handler; |
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 788e23fe64d8..3dce1a342030 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c | |||
@@ -505,12 +505,10 @@ asmlinkage void bad_mode(struct pt_regs *regs, int reason) | |||
505 | 505 | ||
506 | static int bad_syscall(int n, struct pt_regs *regs) | 506 | static int bad_syscall(int n, struct pt_regs *regs) |
507 | { | 507 | { |
508 | struct thread_info *thread = current_thread_info(); | ||
509 | siginfo_t info; | 508 | siginfo_t info; |
510 | 509 | ||
511 | if ((current->personality & PER_MASK) != PER_LINUX && | 510 | if ((current->personality & PER_MASK) != PER_LINUX) { |
512 | thread->exec_domain->handler) { | 511 | send_sig(SIGSEGV, current, 1); |
513 | thread->exec_domain->handler(n, regs); | ||
514 | return regs->ARM_r0; | 512 | return regs->ARM_r0; |
515 | } | 513 | } |
516 | 514 | ||