The Wire · Showcase
KERNEL BLOCKS DIO BOUNCE BUFFER CRASHES WHILE RISC-V VMEMMAP FIX LANDS
By RepoJournal · Filed · About Linux
Block layer fixes restore bio allocation safety and prevent double-unpin crashes, while RISC-V patches eliminate spurious PTE faults and vDSO compiler elision.
The block subsystem merged critical fixes [1] addressing dio bounce buffer helpers, correcting alignment issues that caused double unpins on bounced reads, handling huge zero folios properly, and restoring slab allocation attempts in bio_alloc_bioset before mempool fallback. Parallel to this, RISC-V landed two high-impact patches [2]: flush_cache_vmap now runs after populating vmemmap pages across all architectures to stop spurious PTE faults on RISC-V microarchitectures, and LTO is disabled for the vDSO to prevent compiler elision of functions that appear unused but are actually critical. X86 boot validation [3] tightened parameter parsing, rejecting oversized acpi_rsdp values and validating console=uart8250 baud rates to prevent early boot hangs. io_uring [4] patched a use-after-free in the bpf struct_ops path where maps could register multiple times, plus fixed deferred iovec freeing in the provided-buffer grow path that left dangling references. On the desktop side, Basecamp's Omarchy [5] gutted 234 lines of hand-rolled tmux keybinding parsing, replacing it with tmux list-keys and keeping 42 curated bindings with descriptions. The biggest win across Omarchy came from eliminating polling churn entirely [6][7]: monitor and network panels stopped polling every 3-5 seconds with 26+ forks per call, and status indicators went event-driven instead of broadcasting refreshes every 2 seconds, dropping idle-desktop process churn from 53 to ~20 forks per second.
One email a day. Unsubscribe in one click.
What actually shipped in Linux, written up every day — commits, pull requests, releases, and security advisories.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Pull block layer fixes [ref:1] before heavy io workloads, especially if you've seen bio allocation or dio bounce buffer issues torvalds/linux [plan]
- → Sync RISC-V vmemmap and vDSO patches [ref:2] if running on RISC-V hardware or cross-compiling for it torvalds/linux [plan]
- → Update x86 boot parameter validation [ref:3] before next full kernel deployment to lock down console parameter parsing torvalds/linux [monitor]
- → Land io_uring use-after-free fix [ref:4] immediately if you use bpf struct_ops maps or provided buffers torvalds/linux [immediate]
References
- [1] Merge tag 'block-7.2-20260717' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux torvalds/linux
- [2] Merge tag 'riscv-for-linus-7.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux torvalds/linux
- [3] Merge tag 'x86-urgent-2026-07-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip torvalds/linux
- [4] Merge tag 'io_uring-7.2-20260717' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux torvalds/linux
- [5] Use tmux to list keybindings ↗ basecamp/omarchy
- [6] Stop polling monitor/network state on an idle desktop basecamp/omarchy
- [7] Make status indicators event-driven instead of polling basecamp/omarchy