diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-09-10 17:22:44 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2009-09-10 17:22:44 -0400 |
commit | fc06b8520b3bf9aaeb2e27debe6719c215bd4916 (patch) | |
tree | f657ece9cd7b0e8f6a0151dc8c4eee1266f2a109 | |
parent | 197e2eabc90c203d1086916b7f66694ba5fbb937 (diff) | |
download | op-kernel-dev-fc06b8520b3bf9aaeb2e27debe6719c215bd4916.zip op-kernel-dev-fc06b8520b3bf9aaeb2e27debe6719c215bd4916.tar.gz |
x86/tracing: comment need for atomic nop
The dynamic function tracer relys on the macro P6_NOP5 always being
an atomic NOP. If for some reason it is changed to be two operations
(like a nop2 nop3) it can faults within the kernel when the function
tracer modifies the code.
This patch adds a comment to note that the P6_NOPs are expected to
be atomic. This will hopefully prevent anyone from changing that.
Reported-by: Mathieu Desnoyer <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | arch/x86/include/asm/nops.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/include/asm/nops.h b/arch/x86/include/asm/nops.h index ad2668e..6d8723a 100644 --- a/arch/x86/include/asm/nops.h +++ b/arch/x86/include/asm/nops.h @@ -65,6 +65,8 @@ 6: osp nopl 0x00(%eax,%eax,1) 7: nopl 0x00000000(%eax) 8: nopl 0x00000000(%eax,%eax,1) + Note: All the above are assumed to be a single instruction. + There is kernel code that depends on this. */ #define P6_NOP1 GENERIC_NOP1 #define P6_NOP2 ".byte 0x66,0x90\n" |