summaryrefslogtreecommitdiff
path: root/src/non_critical/kern_panic
diff options
context:
space:
mode:
authornamilsk <namilsk@namilsk.tech>2026-02-11 14:44:05 +0300
committernamilsk <namilsk@namilsk.tech>2026-02-11 14:44:05 +0300
commitfe3e68bab9cfbb3339eca90ebf7b0a3157e0e457 (patch)
treee733d09c54d0adb90092468036b642e3359ea42e /src/non_critical/kern_panic
parent31d8e9b3cb37b4a8e014b3581ce67267e68217f2 (diff)
Fixed warnings
Diffstat (limited to 'src/non_critical/kern_panic')
-rw-r--r--src/non_critical/kern_panic/mod.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/non_critical/kern_panic/mod.rs b/src/non_critical/kern_panic/mod.rs
index 4dccc34..d6accd9 100644
--- a/src/non_critical/kern_panic/mod.rs
+++ b/src/non_critical/kern_panic/mod.rs
@@ -13,22 +13,23 @@ pub unsafe fn sysrq_panic() {
}
pub fn kmod_panic() -> Result<(), String> {
- let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap_or_else(|_| "target/debug".into()));
+ let out_dir = PathBuf::from(env::var("OUT_DIR")
+ .map_err(|_| "OUT_DIR environment variable not set".to_string())?);
let ko_file = out_dir.join("linux_kmod.ko");
-
+
if !ko_file.exists() {
return Err(format!("Kernel module not found at: {}", ko_file.display()));
}
-
+
let status = Command::new("insmod")
.arg(&ko_file)
.status()
.map_err(|e| format!("Failed to execute insmod: {}", e))?;
-
+
if !status.success() {
return Err(format!("Failed to load kernel module: exit code {:?}", status.code()));
}
-
+
Ok(())
}