From 8ce92a030829c68c967cfce185b47d8b6138e07b Mon Sep 17 00:00:00 2001 From: Eliza Weisman Date: Sat, 11 Jan 2025 10:24:12 -0800 Subject: [PATCH] fix(x86_64): remove goofy ptr2int cast in double fault stack (#509) --- src/arch/x86_64/interrupt.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/arch/x86_64/interrupt.rs b/src/arch/x86_64/interrupt.rs index 538b1413..9676603b 100644 --- a/src/arch/x86_64/interrupt.rs +++ b/src/arch/x86_64/interrupt.rs @@ -45,11 +45,9 @@ static mut DOUBLE_FAULT_STACK: [StackFrame; DOUBLE_FAULT_STACK_SIZE] = static TSS: sync::Lazy = sync::Lazy::new(|| { tracing::trace!("initializing TSS.."); let mut tss = task::StateSegment::empty(); - tss.interrupt_stacks[Idt::DOUBLE_FAULT_IST_OFFSET] = unsafe { - // safety: asdf - VAddr::from_usize_unchecked(core::ptr::addr_of!(DOUBLE_FAULT_STACK) as usize) - .offset(DOUBLE_FAULT_STACK_SIZE as isize) - }; + tss.interrupt_stacks[Idt::DOUBLE_FAULT_IST_OFFSET] = + VAddr::from_ptr(core::ptr::addr_of!(DOUBLE_FAULT_STACK)) + .offset(DOUBLE_FAULT_STACK_SIZE as isize); tracing::debug!(?tss, "TSS initialized"); tss });