| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- From 23e04cdf533d255ec9b5bb58229b6785b17fd3f1 Mon Sep 17 00:00:00 2001
- From: Peter Zijlstra <[email protected]>
- Date: Tue, 5 Dec 2017 13:34:49 +0100
- Subject: [PATCH 176/242] x86/mm: Use __flush_tlb_one() for kernel memory
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- CVE-2017-5754
- __flush_tlb_single() is for user mappings, __flush_tlb_one() for
- kernel mappings.
- Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
- Signed-off-by: Thomas Gleixner <[email protected]>
- Cc: Andy Lutomirski <[email protected]>
- Cc: Boris Ostrovsky <[email protected]>
- Cc: Borislav Petkov <[email protected]>
- Cc: Brian Gerst <[email protected]>
- Cc: Dave Hansen <[email protected]>
- Cc: David Laight <[email protected]>
- Cc: Denys Vlasenko <[email protected]>
- Cc: Eduardo Valentin <[email protected]>
- Cc: Greg KH <[email protected]>
- Cc: H. Peter Anvin <[email protected]>
- Cc: Josh Poimboeuf <[email protected]>
- Cc: Juergen Gross <[email protected]>
- Cc: Linus Torvalds <[email protected]>
- Cc: Peter Zijlstra <[email protected]>
- Cc: Will Deacon <[email protected]>
- Cc: [email protected]
- Cc: [email protected]
- Cc: [email protected]
- Cc: [email protected]
- Cc: [email protected]
- Signed-off-by: Ingo Molnar <[email protected]>
- (cherry picked from commit a501686b2923ce6f2ff2b1d0d50682c6411baf72)
- Signed-off-by: Andy Whitcroft <[email protected]>
- Signed-off-by: Kleber Sacilotto de Souza <[email protected]>
- (cherry picked from commit 9d23f46143933cd29576b6aa2b1827f3f39b9cf8)
- Signed-off-by: Fabian Grünbichler <[email protected]>
- ---
- arch/x86/mm/tlb.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
- diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
- index ed06f1593390..5b4342c5039c 100644
- --- a/arch/x86/mm/tlb.c
- +++ b/arch/x86/mm/tlb.c
- @@ -546,7 +546,7 @@ static void do_kernel_range_flush(void *info)
-
- /* flush range by one by one 'invlpg' */
- for (addr = f->start; addr < f->end; addr += PAGE_SIZE)
- - __flush_tlb_single(addr);
- + __flush_tlb_one(addr);
- }
-
- void flush_tlb_kernel_range(unsigned long start, unsigned long end)
- --
- 2.14.2
|