CVE-2026-97978: eth: ice: don't dereference pointers from TP_printk()
eth: ice: don't dereference pointers from TPprintk()
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.12.115-2Fixed in 7.2.12-1Fixed in 7.2.15-1 - Upgrade
Upgrade
debian/linux-6.12to a version that resolves this vulnerability.Fixed in 6.12.113-1~deb12u1 - Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Compensating control
In the Linux kernel ice driver trace event, copy the eight scalar values into the event record and avoid dereferencing pointers from TP_printk().
Event History
Frequently Asked Questions
What conditions are required for this issue to occur?
The issue involves the ice_tx_dim_work trace event and occurs when its TP_printk() expression dereferences pointers after the event has been recorded. The referenced ring or DIM instance may no longer be valid when tracing later formats the event.
How can I determine whether a system is encountering this problem?
Affected systems may report a trace event error stating that ice_tx_dim_work has a double dereference in TP_printk, referencing REC->q_vector->tx.tx_ring->q_index. The report may also include a warning from kernel/trace/trace_events.c at test_double_dereference.cold.
What does the fix change?
The fix avoids dereferencing recorded pointers from TP_printk() by copying eight scalar values into the trace event instead. This ensures formatting does not depend on the continued validity of the ring or DIM pointers.