CVE-2026-64162CWE-666

CVE-2026-64162

Critical · published July 19, 2026

CVSS v3.1
9.8
EPSS
0%
Percentile
27.1
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

idpf: fix read_dev_clk_lock spinlock init in idpf_ptp_init()

In idpf_ptp_init(), read_dev_clk_lock is initialized after

ptp_schedule_worker() had already been called (and after

idpf_ptp_settime64() could reach the lock). The PTP aux worker

fires immediately upon scheduling and can call into

idpf_ptp_read_src_clk_reg_direct(), which takes

spin_lock(&ptp->read_dev_clk_lock) on an uninitialized lock, triggering

the lockdep "non-static key" warning:

[12973.796587] idpf 0000:83:00.0: Device HW Reset initiated

[12974.094507] INFO: trying to register non-static key.

...

[12974.097208] Call Trace:

[12974.097213] <TASK>

[12974.097218] dump_stack_lvl+0x93/0xe0

[12974.097234] register_lock_class+0x4c4/0x4e0

[12974.097249] ? __lock_acquire+0x427/0x2290

[12974.097259] __lock_acquire+0x98/0x2290

[12974.097272] lock_acquire+0xc6/0x310

[12974.097281] ? idpf_ptp_read_src_clk_reg+0xb7/0x150 [idpf]

[12974.097311] ? lockdep_hardirqs_on_prepare+0xde/0x190

[12974.097318] ? finish_task_switch.isra.0+0xd2/0x350

[12974.097330] ? __pfx_ptp_aux_kworker+0x10/0x10 [ptp]

[12974.097343] _raw_spin_lock+0x30/0x40

[12974.097353] ? idpf_ptp_read_src_clk_reg+0xb7/0x150 [idpf]

[12974.097373] idpf_ptp_read_src_clk_reg+0xb7/0x150 [idpf]

[12974.097391] ? kthread_worker_fn+0x88/0x3d0

[12974.097404] ? kthread_worker_fn+0x4e/0x3d0

[12974.097411] idpf_ptp_update_cached_phctime+0x26/0x120 [idpf]

[12974.097428] ? _raw_spin_unlock_irq+0x28/0x50

[12974.097436] idpf_ptp_do_aux_work+0x15/0x20 [idpf]

[12974.097454] ptp_aux_kworker+0x20/0x40 [ptp]

[12974.097464] kthread_worker_fn+0xd5/0x3d0

[12974.097474] ? __pfx_kthread_worker_fn+0x10/0x10

[12974.097482] kthread+0xf4/0x130

[12974.097489] ? __pfx_kthread+0x10/0x10

[12974.097498] ret_from_fork+0x32c/0x410

[12974.097512] ? __pfx_kthread+0x10/0x10

[12974.097519] ret_from_fork_asm+0x1a/0x30

[12974.097540] </TASK>

Move the call to spin_lock_init() up a bit to make sure read_dev_clk_lock

is not touched before it's been initialized.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00347 · 27.1th percentile
Weakness
CWE-666 · Operation on Resource in Wrong Phase of Lifetime
Published
2026-07-19T20:17Z
Affected products (5)
ProductVersionsFixed in
linux/linux_kernel≥ 6.16, < 6.18.346.18.34
linux/linux_kernel≥ 6.19, < 7.0.117.0.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (3)
EPSS history
Timeline
  • 19 JUL 15:40Z
    idpf: fix read_dev_clk_lock spinlock init in idpf_ptp_init()
    cvelistv5