From e794f2fe9b33f463b7a031ef1dd03b6a9e1d6a50 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 18 Sep 2023 15:01:39 -0600 Subject: [PATCH] Fix panic when there is no xsave support --- src/arch/x86_64/alternative.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/arch/x86_64/alternative.rs b/src/arch/x86_64/alternative.rs index aa49d9b4d3..78cda9b6f5 100644 --- a/src/arch/x86_64/alternative.rs +++ b/src/arch/x86_64/alternative.rs @@ -210,15 +210,18 @@ mod xsave { } pub(in super) static XSAVE_INFO: Once = Once::new(); - pub fn info() -> &'static XsaveInfo { - XSAVE_INFO.get().unwrap() + pub fn info() -> Option<&'static XsaveInfo> { + XSAVE_INFO.get() } } pub fn kfx_size() -> usize { #[cfg(not(cpu_feature_never = "xsave"))] { - FXSAVE_SIZE + XSAVE_HEADER_SIZE + xsave::info().xsave_size as usize + match xsave::info() { + Some(info) => FXSAVE_SIZE + XSAVE_HEADER_SIZE + info.xsave_size as usize, + None => FXSAVE_SIZE, + } } #[cfg(cpu_feature_never = "xsave")] {