From 72e1efe765d42af5ee64f1464a284ec1e28c01d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kr=C3=B6ning?= Date: Sun, 2 Aug 2026 18:20:39 +0200 Subject: [PATCH] fix(x86_64/uefi): unmap stack on drop --- src/arch/x86_64/kernel/scheduler.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/arch/x86_64/kernel/scheduler.rs b/src/arch/x86_64/kernel/scheduler.rs index 1a31956dd0..7ed51c8e92 100644 --- a/src/arch/x86_64/kernel/scheduler.rs +++ b/src/arch/x86_64/kernel/scheduler.rs @@ -13,7 +13,6 @@ use crate::arch::x86_64::mm::paging::{ BasePageSize, PageSize, PageTableEntryFlags, PageTableEntryFlagsExt, }; use crate::config::*; -use crate::env; use crate::mm::{FrameAlloc, PageAlloc, PageRangeAllocator}; use crate::scheduler::task::{Task, TaskFrame}; use crate::scheduler::{PerCoreSchedulerExt, timer_interrupts}; @@ -220,12 +219,10 @@ impl Drop for TaskStacks { stacks.total_size >> 10, ); - if !env::is_uefi() { - crate::arch::mm::paging::unmap::( - stacks.virt_addr, - stacks.total_size / BasePageSize::SIZE as usize + 4, - ); - } + crate::arch::mm::paging::unmap::( + stacks.virt_addr, + stacks.total_size / BasePageSize::SIZE as usize + 4, + ); let range = PageRange::from_start_len( stacks.virt_addr.as_usize(), stacks.total_size + 4 * BasePageSize::SIZE as usize,