aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arc/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-04-15 16:53:55 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-15 16:53:55 -0400
commitfa2e5c073a355465a2a8c9a2fbecf404f9857c3a (patch)
tree771be75e5436031ad53649634dffa67f6667b083 /arch/arc/kernel
parente44740c1a94b5d39b093045920f543a7bc135584 (diff)
parent97b2f0dc331474fb80ba4f4e4aee1d8e9ffbf7ce (diff)
Merge branch 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc
Pull exec domain removal from Richard Weinberger: "This series removes execution domain support from Linux. The idea behind exec domains was to support different ABIs. The feature was never complete nor stable. Let's rip it out and make the kernel signal handling code less complicated" * 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc: (27 commits) arm64: Removed unused variable sparc: Fix execution domain removal Remove rest of exec domains. arch: Remove exec_domain from remaining archs arc: Remove signal translation and exec_domain xtensa: Remove signal translation and exec_domain xtensa: Autogenerate offsets in struct thread_info x86: Remove signal translation and exec_domain unicore32: Remove signal translation and exec_domain um: Remove signal translation and exec_domain tile: Remove signal translation and exec_domain sparc: Remove signal translation and exec_domain sh: Remove signal translation and exec_domain s390: Remove signal translation and exec_domain mn10300: Remove signal translation and exec_domain microblaze: Remove signal translation and exec_domain m68k: Remove signal translation and exec_domain m32r: Remove signal translation and exec_domain m32r: Autogenerate offsets in struct thread_info frv: Remove signal translation and exec_domain ...
Diffstat (limited to 'arch/arc/kernel')
-rw-r--r--arch/arc/kernel/signal.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/arch/arc/kernel/signal.c b/arch/arc/kernel/signal.c
index edda76fae83f..2251fb4bbfd7 100644
--- a/arch/arc/kernel/signal.c
+++ b/arch/arc/kernel/signal.c
@@ -171,18 +171,6 @@ static inline void __user *get_sigframe(struct ksignal *ksig,
171 return frame; 171 return frame;
172} 172}
173 173
174/*
175 * translate the signal
176 */
177static inline int map_sig(int sig)
178{
179 struct thread_info *thread = current_thread_info();
180 if (thread->exec_domain && thread->exec_domain->signal_invmap
181 && sig < 32)
182 sig = thread->exec_domain->signal_invmap[sig];
183 return sig;
184}
185
186static int 174static int
187setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) 175setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
188{ 176{
@@ -231,7 +219,7 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
231 return err; 219 return err;
232 220
233 /* #1 arg to the user Signal handler */ 221 /* #1 arg to the user Signal handler */
234 regs->r0 = map_sig(ksig->sig); 222 regs->r0 = ksig->sig;
235 223
236 /* setup PC of user space signal handler */ 224 /* setup PC of user space signal handler */
237 regs->ret = (unsigned long)ksig->ka.sa.sa_handler; 225 regs->ret = (unsigned long)ksig->ka.sa.sa_handler;