Files
RedBear-OS/local/patches/base/P4-ucsid-estale-graceful.patch
T
vasilito f6c2eb2a8e feat: ACPI Wave 1 boot-critical hardening (P19) + robust patch generation
- 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
2026-05-18 14:07:42 +03:00

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