From 560da0daa086591ced9b48dcdc91612daf2bca05 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Thu, 30 Apr 2026 19:15:30 +0100 Subject: [PATCH] syscall: fix TLB not being flushed when necessary --- syscall/task.c | 2 +- syscall/vm-controller.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/syscall/task.c b/syscall/task.c index c9ef091..b36dfac 100644 --- a/syscall/task.c +++ b/syscall/task.c @@ -620,7 +620,7 @@ kern_status_t sys_task_duplicate( task_unlock_irqrestore(self, flags); /* clear TLB */ - pmap_switch(self->t_pmap); + pmap_flush(); put_current_task(self); *out_task = child_handle; diff --git a/syscall/vm-controller.c b/syscall/vm-controller.c index 91fc6cb..39e56bd 100644 --- a/syscall/vm-controller.c +++ b/syscall/vm-controller.c @@ -448,5 +448,8 @@ kern_status_t sys_vm_controller_supply_pages( object_unref(src_obj); put_current_task(self); + /* TODO flush individual pages in vm_object_transfer */ + pmap_flush(); + return status; }