[tip:x86/pti] x86/speculation/mds: Eliminate leaks by trace_hardirqs_on()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Commit-ID:  ab3765a050f7bea942f114d07278e1775e38199b
Gitweb:     https://git.kernel.org/tip/ab3765a050f7bea942f114d07278e1775e38199b
Author:     Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
AuthorDate: Sun, 23 Jun 2019 11:35:04 +0800
Committer:  Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitDate: Wed, 26 Jun 2019 15:01:50 +0200

x86/speculation/mds: Eliminate leaks by trace_hardirqs_on()

Move mds_idle_clear_cpu_buffers() after trace_hardirqs_on() to ensure
all store buffer entries are flushed.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: bp@xxxxxxxxx
Cc: hpa@xxxxxxxxx
Cc: jgross@xxxxxxxx
Cc: ndesaulniers@xxxxxxxxxx
Cc: gregkh@xxxxxxxxxxxxxxxxxxx
Link: https://lkml.kernel.org/r/1561260904-29669-2-git-send-email-zhenzhong.duan@xxxxxxxxxx

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

diff --git a/arch/x86/include/asm/mwait.h b/arch/x86/include/asm/mwait.h
index eb0f80ce8524..e28f8b723b5c 100644
--- a/arch/x86/include/asm/mwait.h
+++ b/arch/x86/include/asm/mwait.h
@@ -86,9 +86,9 @@ static inline void __mwaitx(unsigned long eax, unsigned long ebx,
 
 static inline void __sti_mwait(unsigned long eax, unsigned long ecx)
 {
-	mds_idle_clear_cpu_buffers();
-
 	trace_hardirqs_on();
+
+	mds_idle_clear_cpu_buffers();
 	/* "mwait %eax, %ecx;" */
 	asm volatile("sti; .byte 0x0f, 0x01, 0xc9;"
 		     :: "a" (eax), "c" (ecx));



[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux