f6c2eb2a8e
- P19-init-startup-hardening: Replace panic-grade expect/unwrap in init startup paths (getns, register_scheme_to_ns, setrens, filename parsing) with graceful error handling and logging - P19-acpid-startup-hardening: Replace panic-grade calls in acpid with graceful degradation (rxsdt read failure → warn + exit 0, SDT parse → error + exit 1, I/O privilege → fatal, scheme registration → fatal, setrens → warn + continue, event loop errors → log + continue) - P18-9-msi-allocation-resilience: Regenerate with git diff -U0 -w format for maximum context resilience - fetch.rs: Change --fuzz=0 to --fuzz=3 for resilient patch application - AGENTS.md: Document robust patch generation technique as mandatory - Add P4/P5/P6/P7 patches (estale, dmi, i2c, ps2d hardening) - Add P21 kernel x2apic SMP fix patch - Multiple local recipe source improvements (redox-drm, driver-manager, driver-acpi, thermald) - Config updates for redbear-mini and redbear-device-services - Subsystem assessment document
16 lines
717 B
Diff
16 lines
717 B
Diff
--- a/drivers/usb/ucsid/src/main.rs
|
|
+++ b/drivers/usb/ucsid/src/main.rs
|
|
@@ -397,6 +397,12 @@
|
|
log::debug!("ucsid: ACPI symbols are not ready yet");
|
|
return Ok(Vec::new());
|
|
}
|
|
+ // ESTALE (116): filesystem handle stale during initfs-to-rootfs transition
|
|
+ // ENOENT (2): /scheme/acpi not mounted yet (e.g., acpid not started)
|
|
+ Err(err) if err.raw_os_error() == Some(116) || err.kind() == std::io::ErrorKind::NotFound => {
|
|
+ log::info!("ucsid: ACPI symbols unavailable ({}), running with no UCSI devices", err);
|
|
+ return Ok(Vec::new());
|
|
+ }
|
|
Err(err) => return Err(err).context("failed to read /scheme/acpi/symbols"),
|
|
};
|
|
|