[tip:x86/asm] x86/asm: Clobber flags in clear_page()

From: tip-bot for Alexey Dobriyan
Date: Tue Feb 13 2018 - 12:00:03 EST


Commit-ID: 1acdbf7ea8a80706561013346d281d282a3c00f9
Gitweb: https://git.kernel.org/tip/1acdbf7ea8a80706561013346d281d282a3c00f9
Author: Alexey Dobriyan <adobriyan@xxxxxxxxx>
AuthorDate: Sat, 13 Jan 2018 21:50:48 +0300
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitDate: Tue, 13 Feb 2018 17:36:49 +0100

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 <adobriyan@xxxxxxxxx>
Reviewed-by: Borislav Petkov <bp@xxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/20180113185048.GA23111@avx2
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
arch/x86/include/asm/page_64.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/page_64.h b/arch/x86/include/asm/page_64.h
index 4baa6bc..f8a85c6 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);