Public bug reported:
## Summary (one-liner)
Kernel NULL pointer dereference in ext4_finish_bio via ext4-rsv-
conversion workqueue, 7.0.0-28-generic, causes unrecoverable system hang
(no panic/reboot) requiring a hard power cycle
## Further information (paste into the description box)
**Release:** Ubuntu 24.04.4 LTS (noble)
**Package:** linux-image-generic-hwe-24.04 7.0.0-28.28~24.04.1
**Kernel:** 7.0.0-28-generic #28~24.04.1-Ubuntu PREEMPT(lazy)
**Hardware:** Intel-based mini-PC/NUC-class board (OEM strings blank —
"Default string"/"Default string"), BIOS P0_AK_10_V01_01.02.15W (2024-09-18).
Root filesystem: ext4 on a SATA SSD via the `ahci` driver (Intel SATA
controller,
PCI ID 8086:54d3). GPU: Intel iGPU via the `xe` driver. WiFi: Realtek 8821CE
(`rtw88_8821ce`). No discrete GPU, no RAID, no LVM — plain ext4 on a single
partition (sda2).
### What happened
The system had been up for ~8 days under a normal, unremarkable server workload
(Docker containers, periodic cron jobs, a Tor circuit for an isolated crawler
service, SQLite queries via sudo, a scheduled LLM-backend health check every
~30 min) when the kernel oopsed and the machine became completely unresponsive
— no SSH, no console output, nothing further written to the journal. It stayed
dead for ~22 hours until physically power-cycled; nothing in that window
suggests it ever came back or attempted to reboot on its own
(`kernel.panic_on_oops=0`, the Ubuntu default, so the oops did not trigger an
automatic reboot).
Two things ruled out as causes:
- **Not power loss.** The box is on a monitored UPS (NUT); no "on battery"
transition is logged anywhere near the crash, only an unrelated benign
`usbhid-ups: Pipe error` ~100 minutes earlier.
- **Not disk exhaustion or hardware failure.** `df` showed 5% used (21G/468G)
at the time; the ext4 filesystem passed its journal-replay fsck cleanly on
the next boot with no reported errors; no SMART/I/O errors logged before or
after.
### The oops
A kworker completing an ext4 reserved-space/unwritten-extent conversion after
writeback (`ext4-rsv-conversion` workqueue → `ext4_end_io_rsv_work`) hit a
NULL pointer dereference in `ext4_finish_bio`:
```
BUG: kernel NULL pointer dereference, address: 0000000000000028
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 0 P4D 0
Oops: Oops: 0000 [#1] SMP NOPTI
CPU: 0 UID: 0 PID: 599214 Comm: kworker/u16:3 Not tainted 7.0.0-28-generic
#28~24.04.1-Ubuntu PREEMPT(lazy)
Hardware name: Default string Default string/Default string, BIOS
P0_AK_10_V01_01.02.15W 09/18/2024
Workqueue: ext4-rsv-conversion ext4_end_io_rsv_work
RIP: 0010:ext4_finish_bio+0x8c/0x340
Call Trace:
<TASK>
ext4_release_io_end+0x53/0x110
? ext4_convert_unwritten_io_end_vec+0xd7/0x100
ext4_end_io_end+0x55/0x100
ext4_end_io_rsv_work+0xa7/0x100
process_one_work+0x1af/0x430
worker_thread+0x1bf/0x350
kthread+0xfb/0x140
ret_from_fork+0x1f8/0x2b0
ret_from_fork_asm+0x1a/0x30
</TASK>
note: kworker/u16:3[599214] exited with irqs disabled
```
Within the same second, a second, unrelated process hit a page-table
corruption trying to page in `locale-archive`:
```
BUG: Bad page map in process sleep pte:51d2ba1022d539bb
pgd:2744e7067 p4d:2744e7067 pud:27473d067 pmd:273886067
addr:000071ebcc200000 vm_flags:08000071 anon_vma:0000000000000000
mapping:ffff8e11374ff978 index:200
file:locale-archive fault:filemap_fault mmap:0x0 mmap_prepare:
ext4_file_mmap_prepare read_folio:ext4_read_folio
CPU: 3 UID: 1000 PID: 608524 Comm: sleep Tainted: G D
7.0.0-28-generic #28~24.04.1-Ubuntu PREEMPT(lazy)
Tainted: [D]=DIE
```
The journal cuts off mid-stack-trace of this second oops — nothing further
was ever logged. The machine hung completely at this point rather than
panicking and rebooting.
### Steps to reproduce
Not reliably reproducible. Occurred spontaneously after ~8 days of uptime
under routine load; no unusual I/O, no low-memory condition, no disk-space
pressure, nothing else abnormal in the minutes leading up to it.
### Workaround in place
Installed `linux-image-generic` (GA/non-HWE, 6.8.0-137.137) as a secondary
GRUB boot entry to fall back to if this recurs — confirmed it carries the
drivers this hardware needs (`xe`, `rtw88_8821ce`, `r8169`; the only gap is
`snd_sof_pci_intel_*` audio support, irrelevant on this headless box).
** Affects: linux-hwe-7.0 (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2162875
Title:
Kernel NULL pointer dereference in ext4_finish_bio via ext4-rsv-
conversion workqueue, 7.0.0-28-generic, causes unrecoverable system
hang (no panic/reboot) requiring a hard power cycle
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-hwe-7.0/+bug/2162875/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs