git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[pandora-kernel.git]
/
arch
/
arm
/
kernel
/
signal.c
diff --git
a/arch/arm/kernel/signal.c
b/arch/arm/kernel/signal.c
index
93bb424
..
b76fe06
100644
(file)
--- a/
arch/arm/kernel/signal.c
+++ b/
arch/arm/kernel/signal.c
@@
-12,6
+12,7
@@
#include <linux/personality.h>
#include <linux/freezer.h>
#include <linux/uaccess.h>
#include <linux/personality.h>
#include <linux/freezer.h>
#include <linux/uaccess.h>
+#include <linux/tracehook.h>
#include <asm/elf.h>
#include <asm/cacheflush.h>
#include <asm/elf.h>
#include <asm/cacheflush.h>
@@
-133,7
+134,7
@@
sys_sigaction(int sig, const struct old_sigaction __user *act,
}
#ifdef CONFIG_CRUNCH
}
#ifdef CONFIG_CRUNCH
-static int preserve_crunch_context(struct crunch_sigframe *frame)
+static int preserve_crunch_context(struct crunch_sigframe
__user
*frame)
{
char kbuf[sizeof(*frame) + 8];
struct crunch_sigframe *kframe;
{
char kbuf[sizeof(*frame) + 8];
struct crunch_sigframe *kframe;
@@
-146,7
+147,7
@@
static int preserve_crunch_context(struct crunch_sigframe *frame)
return __copy_to_user(frame, kframe, sizeof(*frame));
}
return __copy_to_user(frame, kframe, sizeof(*frame));
}
-static int restore_crunch_context(struct crunch_sigframe *frame)
+static int restore_crunch_context(struct crunch_sigframe
__user
*frame)
{
char kbuf[sizeof(*frame) + 8];
struct crunch_sigframe *kframe;
{
char kbuf[sizeof(*frame) + 8];
struct crunch_sigframe *kframe;
@@
-707,4
+708,11
@@
do_notify_resume(struct pt_regs *regs, unsigned int thread_flags, int syscall)
{
if (thread_flags & _TIF_SIGPENDING)
do_signal(¤t->blocked, regs, syscall);
{
if (thread_flags & _TIF_SIGPENDING)
do_signal(¤t->blocked, regs, syscall);
+
+ if (thread_flags & _TIF_NOTIFY_RESUME) {
+ clear_thread_flag(TIF_NOTIFY_RESUME);
+ tracehook_notify_resume(regs);
+ if (current->replacement_session_keyring)
+ key_replace_session_keyring();
+ }
}
}