From 273557fa9f2bbb72cf38903ae70477aebd99962a Mon Sep 17 00:00:00 2001 From: Max Wash Date: Mon, 23 Feb 2026 18:25:49 +0000 Subject: [PATCH] x86_64: lock task address space while performing a demand page-map --- arch/x86_64/pmap.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/x86_64/pmap.c b/arch/x86_64/pmap.c index a511166..ac42ffc 100644 --- a/arch/x86_64/pmap.c +++ b/arch/x86_64/pmap.c @@ -364,7 +364,12 @@ kern_status_t pmap_handle_fault( struct task *task = current_task(); struct vm_region *space = task->t_address_space; - return vm_region_demand_map(space, fault_addr, flags); + unsigned long lock_flags; + vm_region_lock_irqsave(space, &lock_flags); + kern_status_t status = vm_region_demand_map(space, fault_addr, flags); + vm_region_unlock_irqrestore(space, lock_flags); + + return status; } kern_status_t pmap_add(