← Back to archive

Daily update · Sep 13–14, 2026

Linux kernel: MADV_FREE data-loss fix, x86 hardening, and laptop WiFi/camera fixes

Stability and security fixes across memory management, scheduler, boot, and hardware support.

In brief

This batch of mainline patches closes memory-management races that could corrupt data or crash x86 systems, corrects scheduler accounting, hardens initrd handling, and restores WiFi/camera support on affected laptops.

Core memory and x86 fixes

Fix user-space data loss with MADV_FREE and THP

A bug in x86 page table handling stripped the hardware dirty bit from huge pages, so pmd_mksaveddirty() could not preserve data when write-protecting pages during reclaim. This caused silent data loss for applications using MADV_FREE on systems with Transparent Huge Pages.

Why it matters: Prevents silent data corruption that could affect production workloads, especially data analytics applications.

f7491d7c81db

Fix bootconfig initrd overflow that could crash the kernel

A crafted initrd with a huge bootconfig size could wrap pointer arithmetic and bypass bounds checks, leading to a kernel page fault during early boot.

Why it matters: Hardens the boot path against malicious initrds, preventing a denial-of-service at boot time.

7812d6dab069

Fix kernel crash in x86 alternatives patching

A race between text poking and change_page_attr() could trigger a BUG in __text_poke, causing a kernel crash during module loading or static call updates.

Why it matters: Eliminates a rare but serious crash on x86 systems, particularly during boot or driver loading.

1587d3394e25

Fix use-after-free races in x86 page attribute changes

Concurrent page table collapse and attribute changes could free page tables while still in use, leading to use-after-free. The fixes add proper locking for CPA operations.

Why it matters: Prevents potential memory corruption and security vulnerabilities on x86 systems.

a1c7570cedd0d5d8b8662e6e

Scheduler and timekeeping fixes

Fix EEVDF scheduler augmented tree bugs

The EEVDF runqueue's augmented fields (min/max slice) were not correctly initialized or propagated during tree rotations, which could mislead scheduling decisions.

Why it matters: Improves scheduler correctness and fairness, potentially benefiting all workloads.

9a8bc9bb4c3f51b0e68cfa0a

Fix CPU time and workqueue accounting with proxy execution

Proxy execution charged cgroup CPU usage and workqueue ticks to the donor task instead of the actual executing task, leading to incorrect accounting and potential workqueue delays.

Why it matters: Ensures accurate cgroup CPU usage and avoids delayed kernel work when proxy execution is used, important for container resource management.

c23810313bdff5741d2b3451

Fix race in tick broadcast device replacement

A race when replacing a broadcast clockevent device could arm a detached device, triggering a BUG during CPU hotplug.

Why it matters: Prevents a kernel crash during CPU hotplug operations on systems using broadcast timers.

113a9796effe

Hardware support fixes

Fix MediaTek WiFi probe failures

Two MediaTek wireless fixes: the mt7921 driver now accepts newer CLC firmware records instead of rejecting them, and mt76 ACPI SAR power initialization is corrected to avoid dereferencing uninitialized ranges.

Why it matters: Prevents WiFi probe failures after linux-firmware updates and avoids a NULL pointer crash on laptops with MediaTek wireless.

1a296bfd3e777825de3f75d1

Fix missing internal camera on Intel IVSC laptops

A prior CVS device lookup change broke camera detection on laptops where the sensor is behind Intel IVSC, such as Dell XPS 16 9640, so no sensor subdevice or media entity was registered. The fix stops using the CVS lookup for IVSC, restoring sensor detection.

Why it matters: Users of affected Intel IPU6 laptops will see their internal camera in Linux again instead of no camera at all.

856c562c9496

Source commits59 entries +
113a9796effe

tick/broadcast: Plug clockevents replacement race

Thomas Gleixner · Aug 12, 2024 · 3 files

9868f5c077df

EDAC/altera: Use parent device for devres in altr_portb_setup()

Dinh Nguyen · Jun 17, 2026 · 1 files

f65d38155aef

x86/div64: Fix addition of large constants in mul_u64_add_u64_div_u64()

David Laight · Aug 3, 2026 · 1 files

a56c03a397e2

perf/x86/intel: Prevent drain_pebs() reentry

Dapeng Mi · Aug 13, 2026 · 3 files

a1c7570cedd0

x86/mm/pat: Acquire init_mm write lock on collapse to avoid UAF

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 2 files

d5d8b8662e6e

x86/mm/pat: Acquire init_mm read lock on attribute changes to avoid UAF

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 1 files

1587d3394e25

x86/alternatives: Exclude text poking against change_page_attr()

Pedro Falcato · Aug 13, 2026 · 1 files

9e4a3ec3411b

x86/mm/pat: Allocate split page tables as kernel page tables

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 1 files

4825ef699cda

klp-build: Fix wrong index in funcs cleanup error path

Yafang Shao · Aug 16, 2026 · 1 files

1a296bfd3e77

wifi: mt76: mt7921: skip unknown CLC firmware records

Laxman Acharya Padhya · Aug 16, 2026 · 1 files

08cacffeef8f

ftrace: fork: Initialize function graph state before copy_exec_state()

Jérémy Jean · Aug 22, 2026 · 1 files

7825de3f75d1

wifi: mt76: mt792x: fix NULL dereference in ACPI SAR init during probe

Devin Wittmayer · Aug 25, 2026 · 1 files

97f8cb91a8c5

drm/panic: clean new `clippy::needless_range_loop` lint for Rust 1.100.0

Miguel Ojeda · Aug 26, 2026 · 1 files

e510334fbaea

rust: samples: add missing newlines in rust_print_main

Mehmet Koseoglu · Aug 28, 2026 · 1 files

b6b9e6d4abe8

rust: pin-init: use irrefutable pattern for `stack_pin_init`

Gary Guo · Aug 28, 2026 · 1 files

ac323c946709

objtool/klp: Fix checksums for constant pool references

Josh Poimboeuf · Aug 28, 2026 · 1 files

5a5d26f2cfe1

x86/cfi: Fix FineIBT hash offset in cfi_get_func_hash()

Soheil Hassas Yeganeh · Aug 31, 2026 · 1 files

f5741d2b3451

sched/core: Call wq_worker_tick() for the execution context

Hui Su · Sep 2, 2026 · 1 files

856c562c9496

media: ipu-bridge: do not use the CVS device lookup for IVSC

Sergey Zagursky · Sep 2, 2026 · 1 files

f7491d7c81db

x86/mm: Fix user-space data loss with MADV_FREE and THP

Vernon Yang · Sep 3, 2026 · 1 files

27600805e62f

x86/amd_node: Fix PCI device reference counting in amd_smn_init()

Yazen Ghannam · Sep 3, 2026 · 1 files

c23810313bdf

sched: Account cgroup CPU time to the execution context

Hui Su · Sep 4, 2026 · 1 files

2deb753127d7

tracing/user_events: Don't destroy fields when event removal fails

Henry Martin · Sep 4, 2026 · 1 files

954f7a48fa2a

entry: Guard syscall_enter_audit() invocation with CONFIG_AUDITSYSCALL

Thomas Gleixner · Sep 5, 2026 · 1 files

c6709d5e1407

rust: num: seal Integer

Younes Akhouayri · Sep 5, 2026 · 1 files

b22845487096

fgraph: Remove unused FGRAPH_MAX_INDEX

Donggeun Yoo · Sep 5, 2026 · 1 files

0701995aaf8f

function_graph: Use the saved entry's size when reprinting it

Donggeun Yoo · Sep 6, 2026 · 1 files

4bddcb346a6c

tracing: Free histogram var refs regardless of how often they are referenced

Donggeun Yoo · Sep 6, 2026 · 1 files

516001d53e6b

tracing: Free histogram the var ref when its initialization fails

Donggeun Yoo · Sep 6, 2026 · 1 files

2ac74c6db40a

rust: allow `clippy::as_underscore` in the generated bindings

John Hubbard · Sep 6, 2026 · 2 files

230234d12ce4

tracing: Free histogram the field rejected for a bad modifier

Donggeun Yoo · Sep 7, 2026 · 1 files

3d617bfd7933

tracing: Let histogram values keep the percent and graph modifiers

Donggeun Yoo · Sep 7, 2026 · 1 files

06f5634ec558

tracing: Keep the entry count when the histogram stats allocation fails

Donggeun Yoo · Sep 7, 2026 · 1 files

89b000ba0796

tracing: Fix typo "availabe" in comment

Hemanth Selam · Sep 7, 2026 · 1 files

0999d3e16d13

tracing: Fix typo "preceeded" in comment

Hemanth Selam · Sep 7, 2026 · 1 files

6ede78d0563a

tracing: Set the trace clock before registering the histogram trigger

Donggeun Yoo · Sep 7, 2026 · 1 files

9a8bc9bb4c3f

sched/eevdf: Fix augmented max_slice

Vincent Guittot · Sep 7, 2026 · 1 files

0fe23b8eaba0

tracing: Take the reference before publishing the named histogram trigger

Donggeun Yoo · Sep 7, 2026 · 1 files

92383cef6679

tracing: Undo the registration when enabling the histogram trigger fails

Donggeun Yoo · Sep 7, 2026 · 1 files

a5e70ba87ca8

tracing: Fix memory corruption from the histogram stacktrace modifier

Donggeun Yoo · Sep 7, 2026 · 1 files

7f711e62355b

tracing: Fix memory corruption from a "STACKTRACE" histogram key

Donggeun Yoo · Sep 7, 2026 · 1 files

1017911fcc03

irqchip/gic-v5: Preserve ICC_CR0_EL1 state

Sascha Bischoff · Sep 7, 2026 · 2 files

911002e99e15

tracing: Restore :mod: trailer after parsing in ftrace_set_clr_event()

Thomas Weißschuh · Sep 8, 2026 · 1 files

88aa1223bfff

perf/x86/intel: Correct pt_regs->flags update for PEBS path

Dapeng Mi · Sep 8, 2026 · 1 files

59e63416f515

perf/core: Allow list_del during perf_event_overflow()

Thomas Richter · Sep 8, 2026 · 1 files

f4c3e38111fd

rust: allow `unknown_lints` in generated bindings for Rust < 1.88

Miguel Ojeda · Sep 8, 2026 · 2 files

7e645147dfba

tracing: Fix ring_buffer_read_page_size() kernel-doc

Karl Mehltretter · Sep 9, 2026 · 1 files

51b0e68cfa0a

sched/eevdf: Fix rb augmented with multi fields

Vincent Guittot · Sep 9, 2026 · 2 files

c5dcb3aadc18

hrtimer: Use hard expiry when updating timers on the same base

Andrea Parri · Sep 10, 2026 · 1 files

462d0b066b61

tools/bootconfig: Fix integer overflow and truncation in size checks

Masami Hiramatsu (Google) · Sep 10, 2026 · 1 files

7812d6dab069

bootconfig: Fix integer overflow in initrd size check

Masami Hiramatsu (Google) · Sep 10, 2026 · 1 files

ed0aff60f83a

tracing: Take trace_array reference when opening a tracer options file

Steven Rostedt · Sep 11, 2026 · 2 files

815e07c8fe88

ring-buffer: Acquire the lock with irqsave in rb_wake_up_waiters()

Sebastian Andrzej Siewior · Sep 11, 2026 · 1 files

b4dcc18b9791

ftrace: Use rcu_assign_pointer() for tmp_ops filter hash

Leon Hwang · Sep 11, 2026 · 1 files

bcfe2816e6ec

tracing: Don't dereference trace_event_file in deferred trigger free

Ali Ahmet Memiş · Sep 11, 2026 · 2 files

442ffa742daa

tracing/remotes: Account for ring buffer page header in size calculation

Vincent Donnefort · Sep 11, 2026 · 2 files

d059d8bf2c9b

tracing/remotes: Catch nr_page_va overflow in ring_buffer_desc sizing

Vincent Donnefort · Sep 11, 2026 · 2 files

d860c67c0516

ring-buffer: Check resize_disabled before publishing the new subbuf order

David Carlier · Sep 12, 2026 · 1 files

fd73f4a66598

Linux 7.3-rc3

Linus Torvalds · Sep 13, 2026 · 1 files