git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
x86: signal_32.c: introduce signr_convert()
[safe/jmp/linux-2.6]
/
arch
/
x86
/
kernel
/
signal_32.c
diff --git
a/arch/x86/kernel/signal_32.c
b/arch/x86/kernel/signal_32.c
index
bb05917
..
b1bc90f
100644
(file)
--- a/
arch/x86/kernel/signal_32.c
+++ b/
arch/x86/kernel/signal_32.c
@@
-482,18
+482,21
@@
static int __setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
/*
* OK, we're invoking a handler:
*/
/*
* OK, we're invoking a handler:
*/
+static int signr_convert(int sig)
+{
+ struct thread_info *info = current_thread_info();
+
+ if (info->exec_domain && info->exec_domain->signal_invmap && sig < 32)
+ return info->exec_domain->signal_invmap[sig];
+ return sig;
+}
+
static int
setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
sigset_t *set, struct pt_regs *regs)
{
static int
setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
sigset_t *set, struct pt_regs *regs)
{
+ int usig = signr_convert(sig);
int ret;
int ret;
- int usig;
-
- usig = current_thread_info()->exec_domain
- && current_thread_info()->exec_domain->signal_invmap
- && sig < 32
- ? current_thread_info()->exec_domain->signal_invmap[sig]
- : sig;
/* Set up the stack frame */
if (ka->sa.sa_flags & SA_SIGINFO)
/* Set up the stack frame */
if (ka->sa.sa_flags & SA_SIGINFO)