From 1acdbf7ea8a80706561013346d281d282a3c00f9 Mon Sep 17 00:00:00 2001 From: Alexey Dobriyan Date: Sat, 13 Jan 2018 21:50:48 +0300 Subject: x86/asm: Clobber flags in clear_page() All clear_page() implementations use XOR which resets flags. Judging by allyesconfig disassembly no code is affected. Signed-off-by: Alexey Dobriyan Reviewed-by: Borislav Petkov Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Thomas Gleixner Link: http://lkml.kernel.org/r/20180113185048.GA23111@avx2 Signed-off-by: Ingo Molnar --- arch/x86/include/asm/page_64.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch') diff --git a/arch/x86/include/asm/page_64.h b/arch/x86/include/asm/page_64.h index 4baa6bceb232..f8a85c65f150 100644 --- a/arch/x86/include/asm/page_64.h +++ b/arch/x86/include/asm/page_64.h @@ -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); -- cgit v1.2.3-59-g8ed1b From 16c5055a5ff5e1ff13c5211e44514a2b1d2c1dae Mon Sep 17 00:00:00 2001 From: Alexey Dobriyan Date: Sat, 13 Jan 2018 22:06:48 +0300 Subject: x86/asm: Trim clear_page.S includes After alternatives were shifted to the call site, only 2 headers are necessary. Signed-off-by: Alexey Dobriyan Reviewed-by: Borislav Petkov Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Thomas Gleixner Link: http://lkml.kernel.org/r/20180113190648.GB23111@avx2 Signed-off-by: Ingo Molnar --- arch/x86/lib/clear_page_64.S | 2 -- 1 file changed, 2 deletions(-) (limited to 'arch') diff --git a/arch/x86/lib/clear_page_64.S b/arch/x86/lib/clear_page_64.S index 81b1635d67de..88acd349911b 100644 --- a/arch/x86/lib/clear_page_64.S +++ b/arch/x86/lib/clear_page_64.S @@ -1,6 +1,4 @@ #include -#include -#include #include /* -- cgit v1.2.3-59-g8ed1b