Commit 102331b6 authored by Tiwei Bie's avatar Tiwei Bie Committed by Johannes Berg
Browse files

um: Fix potential race condition in TLB sync



During the TLB sync, we need to traverse and modify the page table,
so we should hold the page table lock. Since full SMP support for
threads within the same process is still missing, let's disable the
split page table lock for simplicity.

Fixes: 1e4ee513 ("um: Add initial SMP support")
Signed-off-by: default avatarTiwei Bie <tiwei.btw@antgroup.com>
Link: https://patch.msgid.link/20260302235224.1915380-2-tiwei.btw@antgroup.com


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 1ccc861d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -165,6 +165,7 @@ int um_tlb_sync(struct mm_struct *mm)
	unsigned long addr, next;
	int ret = 0;

	guard(spinlock_irqsave)(&mm->page_table_lock);
	guard(spinlock_irqsave)(&mm->context.sync_tlb_lock);

	if (mm->context.sync_tlb_range_to == 0)
+1 −0
Original line number Diff line number Diff line
@@ -572,6 +572,7 @@ config SPLIT_PTE_PTLOCKS
	depends on !ARM || CPU_CACHE_VIPT
	depends on !PARISC || PA20
	depends on !SPARC32
	depends on !UML

config ARCH_ENABLE_SPLIT_PMD_PTLOCK
	bool