diff options
| author | James Morris <jmorris@namei.org> | 2009-09-10 18:04:49 -0400 |
|---|---|---|
| committer | James Morris <jmorris@namei.org> | 2009-09-10 18:04:49 -0400 |
| commit | a3c8b97396ef42edfb845788ba6f53b2a93ce980 (patch) | |
| tree | 530c5bdbc534618311dab3e0af245835af56db0f /arch/arm/kernel | |
| parent | 74fca6a42863ffacaf7ba6f1936a9f228950f657 (diff) | |
| parent | 9f0ab4a3f0fdb1ff404d150618ace2fa069bb2e1 (diff) | |
Merge branch 'next' into for-linus
Diffstat (limited to 'arch/arm/kernel')
| -rw-r--r-- | arch/arm/kernel/entry-common.S | 2 | ||||
| -rw-r--r-- | arch/arm/kernel/signal.c | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index 8c3de1a350b5..7813ab782fda 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S | |||
| @@ -51,7 +51,7 @@ fast_work_pending: | |||
| 51 | work_pending: | 51 | work_pending: |
| 52 | tst r1, #_TIF_NEED_RESCHED | 52 | tst r1, #_TIF_NEED_RESCHED |
| 53 | bne work_resched | 53 | bne work_resched |
| 54 | tst r1, #_TIF_SIGPENDING | 54 | tst r1, #_TIF_SIGPENDING|_TIF_NOTIFY_RESUME |
| 55 | beq no_work_pending | 55 | beq no_work_pending |
| 56 | mov r0, sp @ 'regs' | 56 | mov r0, sp @ 'regs' |
| 57 | mov r2, why @ 'syscall' | 57 | mov r2, why @ 'syscall' |
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index f6bc5d442782..b76fe06d92e7 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include <linux/personality.h> | 12 | #include <linux/personality.h> |
| 13 | #include <linux/freezer.h> | 13 | #include <linux/freezer.h> |
| 14 | #include <linux/uaccess.h> | 14 | #include <linux/uaccess.h> |
| 15 | #include <linux/tracehook.h> | ||
| 15 | 16 | ||
| 16 | #include <asm/elf.h> | 17 | #include <asm/elf.h> |
| 17 | #include <asm/cacheflush.h> | 18 | #include <asm/cacheflush.h> |
| @@ -707,4 +708,11 @@ do_notify_resume(struct pt_regs *regs, unsigned int thread_flags, int syscall) | |||
| 707 | { | 708 | { |
| 708 | if (thread_flags & _TIF_SIGPENDING) | 709 | if (thread_flags & _TIF_SIGPENDING) |
| 709 | do_signal(¤t->blocked, regs, syscall); | 710 | do_signal(¤t->blocked, regs, syscall); |
| 711 | |||
| 712 | if (thread_flags & _TIF_NOTIFY_RESUME) { | ||
| 713 | clear_thread_flag(TIF_NOTIFY_RESUME); | ||
| 714 | tracehook_notify_resume(regs); | ||
| 715 | if (current->replacement_session_keyring) | ||
| 716 | key_replace_session_keyring(); | ||
| 717 | } | ||
| 710 | } | 718 | } |
