x86/asm: Clobber flags in clear_page()
authorAlexey Dobriyan <adobriyan@gmail.com>
Sat, 13 Jan 2018 18:50:48 +0000 (21:50 +0300)
committerIngo Molnar <mingo@kernel.org>
Tue, 13 Feb 2018 16:36:49 +0000 (17:36 +0100)
All clear_page() implementations use XOR which resets flags.

Judging by allyesconfig disassembly no code is affected.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Reviewed-by: Borislav Petkov <bp@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20180113185048.GA23111@avx2
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/include/asm/page_64.h

index 4baa6bceb2325e6dd056ca682e1eeeb435693a26..f8a85c65f150b77802b486e5d3c4f66700829596 100644 (file)
@@ -47,7 +47,7 @@ static inline void clear_page(void *page)
                           clear_page_erms, X86_FEATURE_ERMS,
                           "=D" (page),
                           "0" (page)
-                          : "memory", "rax", "rcx");
+                          : "cc", "memory", "rax", "rcx");
 }
 
 void copy_page(void *to, void *from);