diff options
| author | 2026-05-29 11:18:14 +0100 | |
|---|---|---|
| committer | 2026-05-29 11:18:14 +0100 | |
| commit | be5f8a2e6be3af4963399bb7f994f76d76b3a239 (patch) | |
| tree | 146cf02ab2f4c9536d18a3b2a3e6663970160020 /bootstrap.sh | |
| parent | e2a7a2fdb9ba66e777ec1a8c0d3c9301cc21bdab (diff) | |
| download | dotfiles-be5f8a2e6be3af4963399bb7f994f76d76b3a239.tar.gz dotfiles-be5f8a2e6be3af4963399bb7f994f76d76b3a239.tar.bz2 dotfiles-be5f8a2e6be3af4963399bb7f994f76d76b3a239.zip | |
fix(suspend): load intel_lpss_pci from initramfs (Arch wiki touchpad fix)
Symptoms (Intel CPU + linux-hardened + blinking caps lock + hard
hang on resume from S3) are a direct match for the Arch wiki entry:
https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Touchpad_causes_a_kernel_panic_on_resume
https://bbs.archlinux.org/viewtopic.php?id=231881
When intel_lpss_pci is loaded late (via udev after userspace is up),
the touchpad/I2C controller it parents can be torn down by suspend
before the module's resume callback is registered, leading to a
NULL-deref panic during resume. The kernel never makes it far enough
to flush logs — which matches our 'PM: suspend entry (deep)' being
the last journal line.
Fix: load intel_lpss_pci from the initramfs so it's available before
the suspend/resume code path runs.
Why this only bites linux-hardened: the hardening config enables
INIT_ON_FREE, slab freelist hardening, page poisoning, and stricter
pointer validation, which turn what's a silent UAF on stock linux
into an immediate panic on hardened. Stock 'just works' by accident.
Also drop the speculative init_on_free=0 from the hardened cmdline
now that we have a targeted hypothesis. Keep nmi_watchdog=panic +
softlockup_panic=1 + panic=10 as belt-and-braces: if this fix is
wrong, the next hang will auto-reboot with a usable panic log in
'journalctl -b -1 -k' instead of needing the power button again.
Diffstat (limited to 'bootstrap.sh')
0 files changed, 0 insertions, 0 deletions
