linux/arch/x86/mm
Ingo Molnar 83b0177a6c x86/mm: Fix SMP ordering in switch_mm_irqs_off()
Stephen noted that it is possible to not have an smp_mb() between
the loaded_mm store and the tlb_gen load in switch_mm(), meaning the
ordering against flush_tlb_mm_range() goes out the window, and it
becomes possible for switch_mm() to not observe a recent tlb_gen
update and fail to flush the TLBs.

[ dhansen: merge conflict fixed by Ingo ]

Fixes: 209954cbc7 ("x86/mm/tlb: Update mm_cpumask lazily")
Reported-by: Stephen Dolan <sdolan@janestreet.com>
Closes: https://lore.kernel.org/all/CAHDw0oGd0B4=uuv8NGqbUQ_ZVmSheU2bN70e4QhFXWvuAZdt2w@mail.gmail.com/
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
2025-10-13 13:55:53 -07:00
..
pat x86/mm: Fix overflow in __cpa_addr() 2025-10-13 13:55:48 -07:00
Makefile Move the x86 page fault tracepoints to generic code, because 2025-05-26 21:18:59 -07:00
amdtopology.c x86/platform/amd: Move the <asm/amd_nb.h> header to <asm/amd/nb.h> 2025-04-14 09:34:14 +02:00
cpu_entry_area.c x86/cpu_entry_area: Annotate percpu_setup_exception_stacks() as __init 2024-08-25 14:29:38 +02:00
debug_pagetables.c
dump_pagetables.c mm/ptdump: split effective_prot() into level specific callbacks 2025-05-11 17:48:19 -07:00
extable.c x86/fpu: Delay instruction pointer fixup until after warning 2025-06-25 16:28:06 -07:00
fault.c Move the x86 page fault tracepoints to generic code, because 2025-05-26 21:18:59 -07:00
hugetlbpage.c mm: drop hugetlb_get_unmapped_area{_*} functions 2024-11-06 20:11:10 -08:00
ident_map.c x86/mm/ident_map: Fix theoretical virtual address overflow to zero 2025-03-19 11:12:29 +01:00
init.c mm, x86/mm: move creating the tlb_flush event back to x86 code 2025-09-13 16:55:14 -07:00
init_32.c Revert "mm/execmem: Unify early execmem_cache behaviour" 2025-06-11 11:20:52 +02:00
init_64.c x86: stop calling page_address() in free_pages() 2025-09-21 14:22:17 -07:00
iomap_32.c
ioremap.c mm, x86: use for_each_valid_pfn() from __ioremap_check_ram() 2025-05-12 23:50:44 -07:00
kasan_init_64.c kasan: call kasan_init_generic in kasan_init 2025-09-21 14:21:58 -07:00
kaslr.c x86/kaslr: Reduce KASLR entropy on most x86 systems 2025-02-22 12:25:57 +01:00
kmmio.c
kmsan_shadow.c
maccess.c
mem_encrypt.c x86/sev: Add Secure TSC support for SNP guests 2025-01-07 20:27:23 +01:00
mem_encrypt_amd.c x86/sev: Avoid global variable to store virtual address of SVSM area 2025-09-03 17:58:15 +02:00
mem_encrypt_boot.S x86/boot: Create a confined code area for startup code 2025-09-03 18:00:01 +02:00
mm_internal.h x86/mm: Consolidate initmem_init() 2025-04-09 22:02:30 +02:00
mmap.c mm: constify arch_pick_mmap_layout() for improved const-correctness 2025-09-21 14:22:14 -07:00
mmio-mod.c
numa.c Merge branch 'x86/mm' into x86/core, to resolve conflicts 2025-05-13 10:39:22 +02:00
pf_in.c
pf_in.h
pgprot.c mm: change vm_get_page_prot() to accept vm_flags_t argument 2025-07-09 22:42:13 -07:00
pgtable.c - The 11 patch series "Add folio_mk_pte()" from Matthew Wilcox 2025-05-31 15:44:16 -07:00
pgtable_32.c
physaddr.c
physaddr.h
pkeys.c
pti.c - Untangle the Retbleed from the ITS mitigation on Intel. Allow for ITS 2025-07-29 16:34:45 -07:00
srat.c x86/mm: Don't print out SRAT table information 2024-08-08 17:23:40 +02:00
testmmiotrace.c x86/mm: add testmmiotrace MODULE_DESCRIPTION() 2024-09-01 20:43:31 -07:00
tlb.c x86/mm: Fix SMP ordering in switch_mm_irqs_off() 2025-10-13 13:55:53 -07:00