diff --git a/src/integrations/shim.rs b/src/integrations/shim.rs index 22c48e7..201e4b5 100644 --- a/src/integrations/shim.rs +++ b/src/integrations/shim.rs @@ -1,7 +1,7 @@ use crate::integrations::shim::hook::SecurityHook; use crate::utils; use crate::utils::ResolvedPath; -use crate::utils::variables::VariableController; +use crate::utils::variables::{VariableClass, VariableController}; use anyhow::{Context, Result, anyhow, bail}; use log::warn; use std::ffi::c_void; @@ -282,7 +282,11 @@ impl ShimSupport { /// for the full lifetime of boot services. pub fn retain() -> Result<()> { Self::SHIM_LOCK_VARIABLES - .set_bool("ShimRetainProtocol", true) + .set_bool( + "ShimRetainProtocol", + true, + VariableClass::BootAndRuntimeTemporary, + ) .context("unable to retain shim protocol")?; Ok(()) } diff --git a/src/utils/variables.rs b/src/utils/variables.rs index c80ab9a..490c95d 100644 --- a/src/utils/variables.rs +++ b/src/utils/variables.rs @@ -95,7 +95,7 @@ impl VariableController { /// Set a boolean variable specified by `key` to `value`, converting the value. /// The variable `class` controls the attributes for the variable. - pub fn set_bool(&self, key: &str, value: bool) -> Result<()> { - self.set(key, &[value as u8], VariableClass::BootAndRuntimeTemporary) + pub fn set_bool(&self, key: &str, value: bool, class: VariableClass) -> Result<()> { + self.set(key, &[value as u8], class) } }