projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
CRED: Wrap task credential accesses in the IA64 arch
[cascardo/linux.git]
/
arch
/
ia64
/
kernel
/
signal.c
diff --git
a/arch/ia64/kernel/signal.c
b/arch/ia64/kernel/signal.c
index
19c5a78
..
e1821ca
100644
(file)
--- a/
arch/ia64/kernel/signal.c
+++ b/
arch/ia64/kernel/signal.c
@@
-11,6
+11,7
@@
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/ptrace.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/ptrace.h>
+#include <linux/tracehook.h>
#include <linux/sched.h>
#include <linux/signal.h>
#include <linux/smp.h>
#include <linux/sched.h>
#include <linux/signal.h>
#include <linux/smp.h>
@@
-228,7
+229,7
@@
ia64_rt_sigreturn (struct sigscratch *scr)
si.si_errno = 0;
si.si_code = SI_KERNEL;
si.si_pid = task_pid_vnr(current);
si.si_errno = 0;
si.si_code = SI_KERNEL;
si.si_pid = task_pid_vnr(current);
- si.si_uid = current
->uid
;
+ si.si_uid = current
_uid()
;
si.si_addr = sc;
force_sig_info(SIGSEGV, &si, current);
return retval;
si.si_addr = sc;
force_sig_info(SIGSEGV, &si, current);
return retval;
@@
-325,7
+326,7
@@
force_sigsegv_info (int sig, void __user *addr)
si.si_errno = 0;
si.si_code = SI_KERNEL;
si.si_pid = task_pid_vnr(current);
si.si_errno = 0;
si.si_code = SI_KERNEL;
si.si_pid = task_pid_vnr(current);
- si.si_uid = current
->uid
;
+ si.si_uid = current
_uid()
;
si.si_addr = addr;
force_sig_info(SIGSEGV, &si, current);
return 0;
si.si_addr = addr;
force_sig_info(SIGSEGV, &si, current);
return 0;
@@
-439,6
+440,13
@@
handle_signal (unsigned long sig, struct k_sigaction *ka, siginfo_t *info, sigse
sigaddset(¤t->blocked, sig);
recalc_sigpending();
spin_unlock_irq(¤t->sighand->siglock);
sigaddset(¤t->blocked, sig);
recalc_sigpending();
spin_unlock_irq(¤t->sighand->siglock);
+
+ /*
+ * Let tracing know that we've done the handler setup.
+ */
+ tracehook_signal_handler(sig, info, ka, &scr->pt,
+ test_thread_flag(TIF_SINGLESTEP));
+
return 1;
}
return 1;
}