summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2009-09-10 17:22:44 -0400
committerSteven Rostedt <rostedt@goodmis.org>2009-09-10 17:22:44 -0400
commitfc06b8520b3bf9aaeb2e27debe6719c215bd4916 (patch)
treef657ece9cd7b0e8f6a0151dc8c4eee1266f2a109 /arch
parent197e2eabc90c203d1086916b7f66694ba5fbb937 (diff)
downloadlinux-3.10-fc06b8520b3bf9aaeb2e27debe6719c215bd4916.tar.gz
linux-3.10-fc06b8520b3bf9aaeb2e27debe6719c215bd4916.tar.bz2
linux-3.10-fc06b8520b3bf9aaeb2e27debe6719c215bd4916.zip
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/include/asm/nops.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/include/asm/nops.h b/arch/x86/include/asm/nops.h
index ad2668ee1aa..6d8723a766c 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"