diff options
author | Roland McGrath <roland@redhat.com> | 2008-03-17 10:21:08 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 17:41:13 +0200 |
commit | 0f54091051c450bab751c3ca0cb45d61a67a683b (patch) | |
tree | adce0c9205ff85a92636d714b591638c3b964f99 /arch/x86 | |
parent | x86: sys32_execve PT_DTRACE (diff) | |
download | linux-0f54091051c450bab751c3ca0cb45d61a67a683b.tar.xz linux-0f54091051c450bab751c3ca0cb45d61a67a683b.zip |
x86: handle_vm86_trap cleanup
Use force_sig in handle_vm86_trap like other machine traps do.
Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/vm86_32.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c index 6a91fcf92d67..51040698c222 100644 --- a/arch/x86/kernel/vm86_32.c +++ b/arch/x86/kernel/vm86_32.c @@ -557,16 +557,9 @@ int handle_vm86_trap(struct kernel_vm86_regs *regs, long error_code, int trapno) } if (trapno != 1) return 1; /* we let this handle by the calling routine */ - if (current->ptrace & PT_PTRACED) { - unsigned long flags; - spin_lock_irqsave(¤t->sighand->siglock, flags); - sigdelset(¤t->blocked, SIGTRAP); - recalc_sigpending(); - spin_unlock_irqrestore(¤t->sighand->siglock, flags); - } - send_sig(SIGTRAP, current, 1); current->thread.trap_no = trapno; current->thread.error_code = error_code; + force_sig(SIGTRAP, current); return 0; } |