Public bug reported:

[Impact]
Kernel takes a general protection fault in __run_timers while
handling remote timer expiry for an idle CPU. The faulting address
is 0xdead000000000122 (LIST_POISON2), indicating timer-wheel list
corruption in the timer-migration (tmigr) subsystem. The oops is
preceded by two WARNs at kernel/workqueue.c:2351 in
__queue_work.part.0 from delayed_work_timer_fn. The system becomes
unresponsive and reboots (panic=-1).

[Environment]
 * Ubuntu 26.04
 * Kernel: 7.0.0-28-generic (Ubuntu 7.0.0-28.28-generic 7.0.12)
   #28-Ubuntu SMP PREEMPT_DYNAMIC Sun Jun 21 01:01:36 UTC 2026
 * Built with gcc 15.2.0-16ubuntu1, ld 2.46
 * Ubuntu Core-style install: snapd_recovery_mode=run, immutable
   /usr, pc-kernel snap, Secure Boot enabled, kernel lockdown
   active
 * QEMU/KVM guest, Q35 + ICH9, BIOS 2025.11-3ubuntu7 03/31/2026,
   4 vCPUs, ~8 GiB RAM
 * Boot log confirms timer migration is enabled:
   "Timer migration: 1 hierarchy levels; 8 children per group;
    1 crossnode level"

[Steps to Reproduce]
 1. Boot the VM into a normal graphical session.
 2. Open Chromium (snap) and start a large HTTP(S) download
    (multi-hundred-MB or larger).
 3. Within tens of seconds the two workqueue WARNs fire, followed
    shortly by the fatal GPF in __run_timers. The machine freezes
    or auto-reboots.

The crashing task in every trace is swapper/N (idle CPU), not
Chromium. The download is a workload trigger, not the cause -- it
keeps enough delayed-work timers (netfilter conntrack, socket and
writeback work, etc.) churning to expose the race in the
timer-migration subsystem. No custom reproducer; any workload with
sustained delayed-work timer traffic should suffice.

[Key Trace -- abbreviated; full oops in attached pstore file]
WARNING: kernel/workqueue.c:2351 at __queue_work.part.0+0x190/0x390,
         CPU#2: swapper/2/0
 <IRQ>
 __queue_work+0x39/0xc0
 delayed_work_timer_fn+0x19/0x30
 call_timer_fn+0x30/0x170
 __run_timers+0x1af/0x2c0
 timer_expire_remote+0x52/0x90
 tmigr_handle_remote_cpu+0x10e/0x270
 tmigr_handle_remote_up+0x115/0x160
 tmigr_handle_remote+0xd5/0x140
 run_timer_softirq+0xeb/0x100
 handle_softirqs+0xe1/0x360
 __irq_exit_rcu+0x100/0x120
 sysvec_apic_timer_interrupt+0x9f/0xd0

Oops: general protection fault, probably for non-canonical address
0xdead00000000012a: 0000 [#1] SMP NOPTI
RIP: 0010:__run_timers+0x1e0/0x2c0
RAX: dead000000000122   R12: dead000000000122
Call Trace:
 <IRQ>
 timer_expire_remote+0x52/0x90
 tmigr_handle_remote_cpu+0x10e/0x270
 tmigr_handle_remote_up+0x115/0x160
 tmigr_handle_remote+0xd5/0x140
 run_timer_softirq+0xeb/0x100

Kernel taint at oops: G W (from the preceding workqueue WARNs
only; no out-of-tree modules).

[Likely Upstream Match]
Two open syzbot reports appear to describe the same bug (both
against 7.0 / net-7.0-rc1, both faulting in the timer-wheel expiry
path with a LIST_POISON2 dereference in the range
0xdead000000000128..0xdead00000000012f):

 * syzbot+e53e8221436aa398a8be -- "general protection fault in
   __run_timers (4)", reported 2026-08-04, subsystem tag
   netfilter, faulting in detach_timer -> expire_timers ->
   __run_timers.
 * syzbot+1a48e52497e1769b08de -- "general protection fault in
   detach_timer (2)", reported 2026-02-20 in ktimers/0.

Neither has a public reproducer. If Ubuntu backports the eventual
upstream fix this bug should close by SRU.

[Workaround]
Setting kernel.timer_migration=0 via
/etc/sysctl.d/99-timer-migration.conf reduces cross-CPU timer
placement and, in local testing, prevents the crash under the same
download workload. This is mitigation, not fix -- the underlying
tmigr race remains.

[Other Info]
 * ProblemType: Bug
 * DistroRelease: Ubuntu 26.04
 * Package: linux-image-7.0.0-28-generic 7.0.0-28.28
 * Regression: unknown (no prior 7.0.x kernel tested on this
   install)
 * Reproducible: yes, on demand under the workload above

[Attachments]
 * /var/lib/systemd/pstore/dmesg-efi-* -- full oops recorded by
   the kernel before reboot
 * Full boot dmesg (journalctl -k -b)
 * uname -a
 * snap list --all pc-kernel
 * snap info pc-kernel
 * cat /proc/cmdline

ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: linux-image-7.0.0-28-generic (not installed)
ProcVersionSignature: Ubuntu 7.0.0-28.28-generic 7.0.12
Uname: Linux 7.0.0-28-generic x86_64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
AudioDevicesInUse:
 USER        PID ACCESS COMMAND
 /dev/snd/controlC0:  user       3023 F.... wireplumber
 /dev/snd/seq:        user       3016 F.... pipewire
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Mon Aug 31 14:22:44 2026
Lsusb:
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 001 Device 002: ID 0409:55aa NEC Corp. Hub
 Bus 001 Device 003: ID 0627:0001 Adomax Technology Co., Ltd QEMU Tablet
 Bus 001 Device 005: ID 1050:0407 Yubico.com Yubikey 4/5 OTP+U2F+CCID
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
MachineType: QEMU Standard PC (Q35 + ICH9, 2009)
ProcEnviron:
 LANG=en_US.UTF-8
 PATH=(custom, no user)
 SHELL=/bin/bash
 TERM=xterm-256color
ProcFB: 0 virtio_gpudrmfb
ProcKernelCmdLine: snapd_recovery_mode=run console=ttyS0,115200n8 console=tty1 
panic=-1 quiet splash snapd.xkb="us,pc105,,"
RfKill:
 
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/31/2026
dmi.bios.release: 0.0
dmi.bios.vendor: Ubuntu distribution of EDK II
dmi.bios.version: 2025.11-3ubuntu7
dmi.chassis.type: 1
dmi.chassis.vendor: QEMU
dmi.chassis.version: pc-q35-10.2
dmi.modalias: 
dmi:bvnUbuntudistributionofEDKII:bvr2025.11-3ubuntu7:bd03/31/2026:br0.0:svnQEMU:pnStandardPC(Q35+ICH9,2009):pvrpc-q35-10.2:cvnQEMU:ct1:cvrpc-q35-10.2:sku:pfa:
dmi.product.name: Standard PC (Q35 + ICH9, 2009)
dmi.product.version: pc-q35-10.2
dmi.sys.vendor: QEMU

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug resolute

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2165930

Title:
  Kernel oops (GPF) in __run_timers via tmigr_handle_remote on
  7.0.0-28-generic under network load

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2165930/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to