[PATCH] kprobes: prevent possible race conditions i386 changes

This patch contains the i386 architecture specific changes to prevent the
possible race conditions.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Prasanna S Panchamukhi
2005-09-06 15:19:27 -07:00
committed by Linus Torvalds
parent d0aaff9796
commit 3d97ae5b95
5 changed files with 34 additions and 25 deletions

View File

@@ -507,7 +507,7 @@ label: \
pushl $__KERNEL_CS; \
pushl $sysenter_past_esp
ENTRY(debug)
KPROBE_ENTRY(debug)
cmpl $sysenter_entry,(%esp)
jne debug_stack_correct
FIX_STACK(12, debug_stack_correct, debug_esp_fix_insn)
@@ -518,7 +518,7 @@ debug_stack_correct:
movl %esp,%eax # pt_regs pointer
call do_debug
jmp ret_from_exception
.previous .text
/*
* NMI is doubly nasty. It can happen _while_ we're handling
* a debug fault, and the debug fault hasn't yet been able to
@@ -591,13 +591,14 @@ nmi_16bit_stack:
.long 1b,iret_exc
.previous
ENTRY(int3)
KPROBE_ENTRY(int3)
pushl $-1 # mark this as an int
SAVE_ALL
xorl %edx,%edx # zero error code
movl %esp,%eax # pt_regs pointer
call do_int3
jmp ret_from_exception
.previous .text
ENTRY(overflow)
pushl $0
@@ -631,17 +632,19 @@ ENTRY(stack_segment)
pushl $do_stack_segment
jmp error_code
ENTRY(general_protection)
KPROBE_ENTRY(general_protection)
pushl $do_general_protection
jmp error_code
.previous .text
ENTRY(alignment_check)
pushl $do_alignment_check
jmp error_code
ENTRY(page_fault)
KPROBE_ENTRY(page_fault)
pushl $do_page_fault
jmp error_code
.previous .text
#ifdef CONFIG_X86_MCE
ENTRY(machine_check)