Daily update · Aug 20–21, 2026
Linux kernel update: EFI hang fixes, NTFS hardening, and networking improvements
Today's mainline kernel patches address EFI runtime service hangs, NTFS memory safety, networking bugs, and more.
In brief
Today's Linux kernel patches bring a mix of stability, security, and performance improvements. Key fixes include bounding EFI runtime service waits to prevent system hangs, hardening NTFS against memory corruption, resolving several networking issues (AF_XDP, TCP-AO, IPv6 multipath), and improving squashfs and TCP performance. Hardware support is added for Apple MacBook Pro USB tethering.
Bug fixes
Bound EFI runtime service waits to prevent system hangs
When an EFI runtime service call hangs in firmware, the kernel now times out after 120 seconds, disables runtime services, and prevents later calls from entering the wedged firmware. Non-blocking paths also honor the disabled state.
Why it matters: Prevents permanent system hangs and cascading failures on systems with buggy UEFI firmware.
Fix ARM boot hang caused by get_cycles() regression
A recent delay timer calibration rework broke get_cycles() on ARM, causing boot hangs on configurations like multi_v5_defconfig. The ternary condition is fixed.
Why it matters: Restores reliable booting for affected ARM systems.
Fix AF_XDP NULL pointer dereference in receive path
xsk_buff_alloc() return value is now checked in the multi-buffer receive loop, preventing a crash when the fill queue contains invalid entries.
Why it matters: Prevents kernel crashes for AF_XDP users, such as high-performance packet processing applications.
Fix ksmbd stale connections and TCP timer handling
ksmbd now enables TCP keepalive on accepted sockets and keeps TCP timers alive for kernel sockets, preventing stale connections from consuming the connection quota and stuck FIN-WAIT-1 orphans.
Why it matters: Improves reliability of the in-kernel SMB server when clients disappear or become unreachable.
Fix IPv6 route exception dump race
Route exception dumping now uses RCU-safe list iteration to avoid a data race with concurrent PMTU updates.
Why it matters: Prevents incorrect output or potential crashes when dumping IPv6 routes while PMTU updates are happening.
Fix ACPI deferred device power initialization
ACPI device power state initialization is deferred until after the device is ready for enumeration, preventing power resources from being leaked and kept on.
Why it matters: Fixes unnecessary power consumption on systems with deferred ACPI enumeration, such as some RISC-V boards.
Fix scheduler CPU share calculation for cgroups
tg_cpus() is now floored at 1, preventing a zero shares_max from bypassing the MIN_SHARES clamp and leaving a group entity with zero weight.
Why it matters: Ensures correct CPU bandwidth distribution for cgroups, avoiding potential division issues and unexpected starvation.
Fix kernel panic when toggling hardware VLAN offload
Toggling hardware VLAN TX offload on a lower device could change hard_header_len without proper synchronization, leading to skb_under_panic and data races in the transmit path.
Why it matters: Users with VLAN interfaces and hardware VLAN offload could experience kernel panics or corrupted packets when the offload setting is changed.
Fix divide-by-zero in IPv6 multipath routing
A race between route updates and ignore_routes_with_linkdown changes could make the first pass of rt6_multipath_rebalance return zero total weight, causing a division by zero in the second pass.
Why it matters: IPv6 multipath routing could crash the kernel under concurrent route changes; this makes the code robust.
Fix uninitialized address ID in MPTCP syncookie path
When rebuilding an MPTCP request socket under SYN cookies, local_id was not restored, leaving uninitialized stack data that could corrupt path-manager subflow bookkeeping.
Why it matters: MPTCP connections using SYN cookies could experience subflow state corruption, potentially causing connection failures or misrouting.
Fix 32-bit backlog overflow in qdiscs
gred, bfifo, and plug qdiscs computed backlog plus packet length in 32 bits, so after 4 GiB of backlog the sum wrapped and admission kept accepting packets, causing unbounded queue growth.
Why it matters: Routers and traffic-controlled links with very large queues could see memory exhaustion and packet loss; the fix prevents the overflow.
Fix kernel panic on invalid PCS in phylink
phylink_inband_caps() only checked for NULL PCS, but mac_select_pcs can return an error pointer, leading to a NULL dereference when accessing PCS ops.
Why it matters: Ethernet drivers using phylink could panic if a PCS selection fails; this adds proper error checking.
Fix bogus energy readings on Intel RAPL counter wraparound
The RAPL PMU did not sign-extend the energy counter delta on wraparound, causing turbostat and perf to report absurdly large power values.
Why it matters: Users monitoring power on Intel CPUs (e.g., with turbostat) will no longer see occasional impossible wattage readings.
Fix runtime PM stuck blocked after failed suspend prepare
If a device's prepare callback failed, runtime PM remained blocked, causing later pm_runtime_enable() to report an error and leaving the device in a bad state.
Why it matters: Systems with devices that fail suspend preparation could experience runtime PM errors and device power management issues after resume.
Fix torn reads of neighbor hardware addresses in bridge and VXLAN proxy
ARP/ND proxy paths in the bridge and VXLAN drivers read neighbor hardware addresses directly, which could be torn while the neighbor is being updated. They now use a stable snapshot.
Why it matters: Virtualization and container networking with bridge/VXLAN proxy features will avoid occasional corrupted MAC addresses and potential packet misdelivery.
Fix NFS pNFS cache keying and layout segment leak
The pNFS data server cache was keyed only on multipath address, causing a NULL dereference when the same address served both NFSv3 and NFSv4 flexfiles devices. Additionally, the layout process forget path failed to free layout segments, leaking memory.
Why it matters: Prevents crashes and memory leaks for NFS flexfiles users, improving long-term stability.
Security and hardening
Fix multiple NTFS memory corruption and DoS issues
Several NTFS driver bugs were fixed: an off-by-one page overflow in decompression, an unvalidated update sequence number offset causing use-after-free, a resource leak exploitable via setxattr, and invalid empty mapping pairs.
Why it matters: Prevents crashes, memory corruption, and denial-of-service when accessing corrupted or malicious NTFS filesystems.
Rate-limit efivarfs statfs() to prevent SMM flood
statfs() on efivarfs now rate-limits calls to the EFI QueryVariableInfo() runtime service to twice per second.
Why it matters: Prevents unprivileged users from causing severe system slowdowns by flooding SMM-based variable stores on x86.
Fix TCP-AO use-after-free on reconnect
The TCP-AO current_key pointer is now properly cleared when keys are freed during reconnect to a different peer.
Why it matters: Prevents potential crashes or memory corruption for users of TCP-AO, e.g., BGP sessions.
Fix use-after-free in AF_PACKET TX_RING
The packet socket TX_RING code freed a vmalloc ring while skbs still referenced it, and deferred the reference drop until after writing frame status, preventing a use-after-free.
Why it matters: Applications using packet sockets with TX_RING (e.g., traffic generators) could crash or be exploited; this closes a memory-safety hole.
Randomize inetpeer tree to harden rate limiting
The inetpeer rate-limiting system used a deterministic RB-tree keyed on IP addresses, allowing off-path attackers to predict evictions and manipulate token buckets. The comparison is now randomized with SipHash.
Why it matters: Hardens the kernel's peer rate limiting against off-path attacks, improving resistance to resource-exhaustion and rate-limit bypass.
Performance
Reduce squashfs cache wakeup storms
squashfs_cache_put() now wakes only one waiter per freed cache entry instead of all waiters, avoiding a thundering herd.
Why it matters: Improves performance and reduces CPU overhead for concurrent reads from squashfs images, common in containers and embedded systems.
Advertise TCP MSS from configured MTU instead of learned PMTU
The MSS advertised in SYN packets is now derived from the interface/route MTU rather than a previously learned path MTU, which could be smaller due to asymmetric routing.
Why it matters: Improves TCP throughput on asymmetric paths and avoids permanently capping connections to a stale PMTU.
Hardware support
Add support for Apple MacBook Pro USB tethering (product ID 0x1902)
The cdc_ncm driver now recognizes MacBook Pro models that present as USB product ID 0x1902 over USB4/Thunderbolt, using the same private interface layout as 0x1905.
Why it matters: Owners of Apple MacBook Pro (e.g., M1 Max) can use USB tethering to Linux hosts that lack PCIe tunneling support.
Source commits117 entries +
efi/runtime-wrappers: factor out efi_rts_park_worker()
Breno Leitao · Jun 16, 2026 · 4 files
efi/runtime-wrappers: handle queue_work() failure with goto exit
Breno Leitao · Jun 16, 2026 · 1 files
efi/runtime-wrappers: check EFI_RUNTIME_SERVICES before using efi_rts_work
Breno Leitao · Jun 16, 2026 · 1 files
efi/runtime-wrappers: bound the wait for EFI runtime service calls
Breno Leitao · Jun 16, 2026 · 1 files
efi/runtime-wrappers: honour EFI_RUNTIME_SERVICES in the non-blocking paths
Breno Leitao · Jun 16, 2026 · 1 files
efi/runtime-wrappers: retire the worker if a wedged call ever returns
Breno Leitao · Jun 16, 2026 · 1 files
efi: apple-properties: validate setup data header length
Pengpeng Hou · Jul 6, 2026 · 1 files
irqchip/ast2700-intc: Disable all interrupt merge banks on probe
Michael Pesa · Jul 22, 2026 · 1 files
efi: make efi_guid_to_str() take a const GUID pointer
Vincent Mailhol · Jul 22, 2026 · 1 files
efivarfs: Rate limit statfs() handler
Ard Biesheuvel · Aug 1, 2026 · 1 files
RDMA/ucma: Allow path records to exactly fit the output buffer
Serhat Kumral · Aug 6, 2026 · 1 files
squashfs: avoid thundering-herd cache wakeups
Usama Arif · Aug 7, 2026 · 2 files
lib/interval_tree: fix allocation warning messages
Karl Mehltretter · Aug 8, 2026 · 1 files
prctl: fix PR_SET_MM_AUXV losing the forced AT_NULL terminator
Bradley Morgan · Aug 9, 2026 · 1 files
mailmap: update email address for Linfeng Sun
Linfeng Sun · Aug 10, 2026 · 1 files
ocfs2: bound-check dir entries in the readdir re-validation scan
Zhan Xusheng · Aug 11, 2026 · 1 files
ocfs2: bound-check dir entries in the inline-data re-validation scan
Zhan Xusheng · Aug 11, 2026 · 1 files
vlan: fix skb_under_panic and races when toggling HW VLAN offload
Eric Dumazet · Aug 11, 2026 · 1 files
irqchip/gic-v5: Clear per-CPU IRS data on teardown
Sascha Bischoff · Aug 11, 2026 · 1 files
irqchip/gic-v5: Synchronize CPU interface disable
Sascha Bischoff · Aug 11, 2026 · 1 files
irqchip/gic-v5: Check get_logical_index() return value in MADT IAFFID parsing
Lorenzo Pieralisi · Aug 12, 2026 · 1 files
irqchip/gic-v5: Check for NULL LPI domain on domain teardown
Lorenzo Pieralisi · Aug 12, 2026 · 1 files
irqchip/gic-v5: Disable IRSes on probe failures
Lorenzo Pieralisi · Aug 12, 2026 · 1 files
irqchip/gic-v5: Fix gicv5_init_common() error paths
Lorenzo Pieralisi · Aug 12, 2026 · 1 files
irqchip/gic-v5: Release IRS iomem region on driver init failure
Lorenzo Pieralisi · Aug 12, 2026 · 2 files
irqchip/gic-v5: Use logical cpu 0 irs_data for dynamic IST allocation
Lorenzo Pieralisi · Aug 12, 2026 · 1 files
irqchip/gic-v5: Defer default SPI and LPI IAFFID programming
Lorenzo Pieralisi · Aug 12, 2026 · 1 files
net: mctp: hold a reference to the route device in mctp_route_lookup()
Aldo Ariel Panzardo · Aug 13, 2026 · 1 files
sched/topology: Add a cpus_read_lock to rebuild_sched_domains()
Sebastian Andrzej Siewior · Aug 13, 2026 · 1 files
xsk: fix NULL pointer dereference in __xsk_rcv()
Cen Zhang (Microsoft) · Aug 13, 2026 · 1 files
fbdev: maxine: make functions static
Randy Dunlap · Aug 13, 2026 · 1 files
fbdev: maxine: elide an unused function
Randy Dunlap · Aug 13, 2026 · 1 files
fbdev: maxine: fix 64-bit build error
Randy Dunlap · Aug 13, 2026 · 1 files
fbdev: maxine: fix maxinefb_init() return value
Randy Dunlap · Aug 14, 2026 · 1 files
powercap: intel_rapl: Sign-extend the PMU delta on counter wraparound
Li, Yifan · Aug 14, 2026 · 1 files
clk: microchip: mpfs: fix regmap_update_bits() mask/val order
Pedro Kopper · Aug 14, 2026 · 1 files
net: bridge: Reject descending VLAN tunnel ranges
Ruoyu Wang · Aug 14, 2026 · 1 files
fbdev: maxine: use MODULE_LICENSE() unconditionally
Randy Dunlap · Aug 14, 2026 · 1 files
net: core: propagate unreadable flag in skb_zerocopy
Mina Almasry · Aug 14, 2026 · 2 files
net: tcp: block mixing readable and unreadable frags
Mina Almasry · Aug 14, 2026 · 1 files
ACPI: pfr_update: fix stack buffer overflow in query_capability()
Anirudh Prasad · Aug 14, 2026 · 1 files
net: ipa: fix stalled modem TX queue after runtime resume
Jorijn van der Graaf · Aug 15, 2026 · 1 files
net: advertise TCP MSS from the configured MTU, not the learned PMTU
Jiayuan Chen · Aug 15, 2026 · 4 files
selftests: net: packetdrill: add tests for advertised MSS with PMTU exceptions
Eric Dumazet · Aug 15, 2026 · 2 files
ipv6: use RCU iterator to dump route exceptions
Yuyang Huang · Aug 15, 2026 · 1 files
net: thunderbolt: Count delivered packets in rx_packets and rx_bytes
Fan Ye · Aug 15, 2026 · 1 files
mptcp: fix uninitialized local_id in syncookie MP_JOIN reconstruction
Harshit Varu · Aug 15, 2026 · 1 files
bnx2x: fix double free in bnx2x_init_firmware() error path
Jiangshan Yi · Aug 15, 2026 · 1 files
net: ipa: balance runtime PM reference on remove error
Ruoyu Wang · Aug 15, 2026 · 1 files
forcedeth: fix off-by-one when saving/restoring non-PCI config space
Marek Czernohous · Aug 15, 2026 · 1 files
forcedeth: stop the tx_timeout register dump past the requested window
Marek Czernohous · Aug 15, 2026 · 1 files
net: usb: cdc_ncm: add Apple MacBook Pro USB product ID 0x1902
Mehrdad Afshari · Aug 16, 2026 · 1 files
net: qlcnic: validate unified ROM sections before loading
Pengpeng Hou · Aug 16, 2026 · 1 files
net/mlx5: E-Switch, use state lock for vport state changes
Mark Bloch · Aug 16, 2026 · 5 files
net/mlx5: Move vport DOWN state check out of mlx5_query_vport_max_tx_speed()
Or Har-Toov · Aug 16, 2026 · 3 files
net/mlx5: E-Switch, preserve max tx speed on vport state modification
Or Har-Toov · Aug 16, 2026 · 2 files
NFSv4.2: fix LAYOUTSTATS send buffer exhaustion
Junrui Luo · Aug 16, 2026 · 1 files
NFSv4/pnfs: key the data server cache on the NFS version
Junrui Luo · Aug 16, 2026 · 4 files
NFSv4.1: fix layout segment leak on the pnfs_layout_process() forget path
Junrui Luo · Aug 16, 2026 · 1 files
net/sched: add get_fill_size callbacks for actions missing them
Victor Nogueira · Aug 16, 2026 · 9 files
net/tcp-ao: fix use-after-free of current_key on reconnect to another peer
Hyunwoo Kim · Aug 16, 2026 · 1 files
net/packet: defer vmalloc TX_RING free until skbs finish
Kyle Zeng · Aug 16, 2026 · 1 files
ipv6: avoid divide by zero in rt6_multipath_rebalance
Cen Zhang (Microsoft) · Aug 17, 2026 · 1 files
NTB: ntb_transport: Recycle TX entries before client callbacks
Koichiro Den · Aug 17, 2026 · 1 files
net: ntb_netdev: Fix TX busy and drop handling
Koichiro Den · Aug 17, 2026 · 1 files
NTB: ntb_transport: Fail TX enqueue when the QP link is down
Koichiro Den · Aug 17, 2026 · 1 files
NTB: ntb_transport: Reject oversized TX buffers
Koichiro Den · Aug 17, 2026 · 1 files
fbdev: platinumfb: add error checking for ioremap calls
BingKun Yue · Aug 17, 2026 · 1 files
netdevsim: update queue NAPI association on queue reset
Eric Dumazet · Aug 17, 2026 · 1 files
batman-adv: reject unrepresentable multicast TVLV offsets
Kyle Zeng · Aug 17, 2026 · 2 files
ipv6: seg6: clear IPv4 control block on IPIP decapsulation
Kyle Zeng · Aug 17, 2026 · 1 files
ipv6: rpl: fix NULL dereference of idev in ipv6_rpl_srh_rcv()
Andrea Mayer · Aug 17, 2026 · 1 files
mailmap: fix bouncing address for Taniya Das
Konrad Dybcio · Aug 17, 2026 · 1 files
net: add missing ref_tracker_dir_exit() to net_passive_dec()
Tetsuo Handa · Aug 17, 2026 · 1 files
net: phylink: correctly validate returned PCS in phylink_inband_caps
Christian Marangi · Aug 17, 2026 · 1 files
ethtool: remove unused __ETHTOOL_LINK_MODE_MASK_NWORDS
Zhan Xusheng · Aug 18, 2026 · 1 files
net/smc: free stashed qentry before overwrite in REQ_ADD_LINK to ADD_LINK transition
Mahanta Jambigi · Aug 18, 2026 · 1 files
net/smc: free pending qentry in smc_llc_flow_stop() before memset
Mahanta Jambigi · Aug 18, 2026 · 1 files
net: sched: fix 32-bit backlog wrap in gred, bfifo and plug enqueue
Jamal Hadi Salim · Aug 18, 2026 · 3 files
fbdev: viafb: refactor strcpy and viafb_name
Ajith P V · Aug 18, 2026 · 1 files
tools: ynl: handle calloc failure in ynl_ntf_parse
Triet Hoang · Aug 18, 2026 · 1 files
fbdev: omapfb: panel-dsi-cm: initialize lock before registering display
Runyu Xiao · Aug 18, 2026 · 1 files
docs: oa-tc6-framework: Fix link to specification
Stefan Wahren · Aug 18, 2026 · 1 files
net: bridge: arp/nd proxy: fix reading neigh ha
Nikolay Aleksandrov · Aug 18, 2026 · 1 files
vxlan: fix reading neigh ha
Nikolay Aleksandrov · Aug 18, 2026 · 1 files
inetpeer: randomize RB-tree node comparison using SipHash
Eric Dumazet · Aug 18, 2026 · 2 files
PM: sleep: Unblock runtime PM when device prepare fails
Shibo Zhu · Aug 18, 2026 · 1 files
ip6mr: do not clone dst in ip6mr_cache_report()
Eric Dumazet · Aug 18, 2026 · 1 files
ksmbd: enable TCP keepalive for accepted connections
Namjae Jeon · Aug 19, 2026 · 1 files
sctp: drop a chunk if its transport was removed
Hyunwoo Kim · Aug 19, 2026 · 1 files
MAINTAINERS: add myself as KSMBD reviewer
ChenXiaoSong · Aug 19, 2026 · 1 files
pNFS: Fix EBUSY check in pnfs_layout_need_return
Tim Menninger · Aug 19, 2026 · 1 files
sched/fair: Floor tg_cpus() at 1
Jake Steinman · Aug 19, 2026 · 1 files
clk: ti: Make sure clk_init_data is fully initialized
Geert Uytterhoeven · Aug 19, 2026 · 3 files
clk: visconti: Make sure clk_init_data is fully initialized
Geert Uytterhoeven · Aug 19, 2026 · 1 files
spi: amlogic-spisg: Make sure clk_init_data is fully initialized
Geert Uytterhoeven · Aug 19, 2026 · 1 files
ACPI: Add Bob Moore to CREDITS
Rafael J. Wysocki · Aug 19, 2026 · 1 files
ACPI: Update MAINTAINERS entry for ACPICA
Rafael J. Wysocki · Aug 19, 2026 · 1 files
ACPI: Update upstream ACPICA repository URL in documentation
Rafael J. Wysocki · Aug 19, 2026 · 1 files
ARM: Fix get_cycles() after delay_read_timer() conversion
Nathan Chancellor · Aug 19, 2026 · 1 files
fbdev: atafb: Give atafb proper parent
Miro Kropacek · Aug 19, 2026 · 1 files
fbdev: atafb: Add support for further video bit depths on atafb:external
Miro Kropacek · Aug 19, 2026 · 1 files
fbdev: atafb: Add support for SuperVidel's SuperBlitter
Miro Kropacek · Aug 19, 2026 · 1 files
ksmbd: keep TCP timers alive for kernel sockets
Namjae Jeon · Aug 19, 2026 · 1 files
ntfs: reject invalid empty mapping pairs
Hyunchul Lee · Aug 20, 2026 · 1 files
ACPI: scan: Defer device power initialization
Peixin Xie · Aug 20, 2026 · 2 files
ntfs: fix off-by-one page overflow in ntfs_decompress()
Dennis Tighe · Aug 20, 2026 · 1 files
smb: server: Remove obsolete "select CRYPTO_LIB_DES" from Kconfig file
Thomas Huth · Aug 20, 2026 · 1 files
smb: server: remove unused DES crypto header
Namjae Jeon · Aug 20, 2026 · 1 files
futex: Fix might_sleep() warning in futex_pivot_pending()
Peter Zijlstra · Aug 20, 2026 · 5 files
ntfs: fix resource leak in ntfs_new_attr_flags
Hongling Zeng · Aug 20, 2026 · 1 files
spi: loongson: pm: add .freeze .poweroff .thaw .restore
Li Jun · Aug 20, 2026 · 1 files
ntfs: validate usa_ofs before preserving the update sequence number
Dennis Tighe · Aug 20, 2026 · 1 files
MAINTAINERS: update ksmbd repository URL
Namjae Jeon · Aug 20, 2026 · 1 files
irqchip/irq-realtek-rtl: Use readl_be()/writel_be() instead of readl()/writel()
Rustam Adilov · Aug 20, 2026 · 1 files
net: macb: drop CONFIG_OF #if block
Théo Lebrun · Aug 20, 2026 · 1 files
NFSv4.1: zero referring call lists before decoding
Jérémy Jean · Aug 20, 2026 · 1 files