diff options
| author | Borislav Petkov <[email protected]> | 2015-04-04 23:07:42 +0200 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2015-04-06 09:24:09 +0200 |
| commit | 69df353ff305805fc16082d0c5bfa6e20fa8b863 (patch) | |
| tree | 2d6377b1a094d38e0993ba94c0b9a72d3ff716b5 /tools/perf/scripts/python | |
| parent | fc3e958a2b552fe6210e6de3bebb4348156a0b5f (diff) | |
x86/alternatives: Guard NOPs optimization
Take a look at the first instruction byte before optimizing the NOP -
there might be something else there already, like the ALTERNATIVE_2()
in rdtsc_barrier() which NOPs out on AMD even though we just
patched in an MFENCE.
This happens because the alternatives sees X86_FEATURE_MFENCE_RDTSC,
AMD CPUs set it, we patch in the MFENCE and right afterwards it sees
X86_FEATURE_LFENCE_RDTSC which AMD CPUs don't set and we blindly
optimize the NOP.
Checking whether at least the first byte is 0x90 prevents that.
Signed-off-by: Borislav Petkov <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Brian Gerst <[email protected]>
Cc: Denys Vlasenko <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions