diff options
author | Prasanna S Panchamukhi <prasanna@in.ibm.com> | 2005-09-06 18:19:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-07 19:57:59 -0400 |
commit | 0f2fbdcbb041f9087da42f8ac2e81f2817098d2a (patch) | |
tree | 3f54f91ca6972c6567cfe529b33fafb622b2d51c /arch/x86_64/kernel/entry.S | |
parent | 3d97ae5b958855ac007b6f56a0f94ab8ade09e9e (diff) |
[PATCH] kprobes: prevent possible race conditions x86_64 changes
This patch contains the x86_64 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>
Diffstat (limited to 'arch/x86_64/kernel/entry.S')
-rw-r--r-- | arch/x86_64/kernel/entry.S | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S index 096d470e280f..be51dbe1f75e 100644 --- a/arch/x86_64/kernel/entry.S +++ b/arch/x86_64/kernel/entry.S | |||
@@ -784,8 +784,9 @@ ENTRY(execve) | |||
784 | ret | 784 | ret |
785 | CFI_ENDPROC | 785 | CFI_ENDPROC |
786 | 786 | ||
787 | ENTRY(page_fault) | 787 | KPROBE_ENTRY(page_fault) |
788 | errorentry do_page_fault | 788 | errorentry do_page_fault |
789 | .previous .text | ||
789 | 790 | ||
790 | ENTRY(coprocessor_error) | 791 | ENTRY(coprocessor_error) |
791 | zeroentry do_coprocessor_error | 792 | zeroentry do_coprocessor_error |
@@ -797,13 +798,14 @@ ENTRY(device_not_available) | |||
797 | zeroentry math_state_restore | 798 | zeroentry math_state_restore |
798 | 799 | ||
799 | /* runs on exception stack */ | 800 | /* runs on exception stack */ |
800 | ENTRY(debug) | 801 | KPROBE_ENTRY(debug) |
801 | CFI_STARTPROC | 802 | CFI_STARTPROC |
802 | pushq $0 | 803 | pushq $0 |
803 | CFI_ADJUST_CFA_OFFSET 8 | 804 | CFI_ADJUST_CFA_OFFSET 8 |
804 | paranoidentry do_debug | 805 | paranoidentry do_debug |
805 | jmp paranoid_exit | 806 | jmp paranoid_exit |
806 | CFI_ENDPROC | 807 | CFI_ENDPROC |
808 | .previous .text | ||
807 | 809 | ||
808 | /* runs on exception stack */ | 810 | /* runs on exception stack */ |
809 | ENTRY(nmi) | 811 | ENTRY(nmi) |
@@ -854,8 +856,9 @@ paranoid_schedule: | |||
854 | jmp paranoid_userspace | 856 | jmp paranoid_userspace |
855 | CFI_ENDPROC | 857 | CFI_ENDPROC |
856 | 858 | ||
857 | ENTRY(int3) | 859 | KPROBE_ENTRY(int3) |
858 | zeroentry do_int3 | 860 | zeroentry do_int3 |
861 | .previous .text | ||
859 | 862 | ||
860 | ENTRY(overflow) | 863 | ENTRY(overflow) |
861 | zeroentry do_overflow | 864 | zeroentry do_overflow |
@@ -892,8 +895,9 @@ ENTRY(stack_segment) | |||
892 | jmp paranoid_exit | 895 | jmp paranoid_exit |
893 | CFI_ENDPROC | 896 | CFI_ENDPROC |
894 | 897 | ||
895 | ENTRY(general_protection) | 898 | KPROBE_ENTRY(general_protection) |
896 | errorentry do_general_protection | 899 | errorentry do_general_protection |
900 | .previous .text | ||
897 | 901 | ||
898 | ENTRY(alignment_check) | 902 | ENTRY(alignment_check) |
899 | errorentry do_alignment_check | 903 | errorentry do_alignment_check |