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 });