[PATCH 4.6 027/203] x86/msr: Use the proper trace point conditional for writes

From: Greg Kroah-Hartman
Date: Mon Jul 25 2016 - 18:28:35 EST


4.6-stable review patch. If anyone has any objections, please let me know.

------------------

From: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>

commit 08dd8cd06ed95625b9e2fac43c78fcb45b7eaf94 upstream.

The msr tracing for writes is incorrectly conditional on the read trace.

Fixes: 7f47d8cc039f "x86, tracing, perf: Add trace point for MSR accesses"
Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
Cc: ak@xxxxxxxxxxxxxxx
Link: http://lkml.kernel.org/r/1464976859-21850-1-git-send-email-dgilbert@xxxxxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
arch/x86/include/asm/msr.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- a/arch/x86/include/asm/msr.h
+++ b/arch/x86/include/asm/msr.h
@@ -112,7 +112,7 @@ static inline void native_write_msr(unsi
unsigned low, unsigned high)
{
asm volatile("wrmsr" : : "c" (msr), "a"(low), "d" (high) : "memory");
- if (msr_tracepoint_active(__tracepoint_read_msr))
+ if (msr_tracepoint_active(__tracepoint_write_msr))
do_trace_write_msr(msr, ((u64)high << 32 | low), 0);
}

@@ -131,7 +131,7 @@ notrace static inline int native_write_m
: "c" (msr), "0" (low), "d" (high),
[fault] "i" (-EIO)
: "memory");
- if (msr_tracepoint_active(__tracepoint_read_msr))
+ if (msr_tracepoint_active(__tracepoint_write_msr))
do_trace_write_msr(msr, ((u64)high << 32 | low), err);
return err;
}