GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux ice driver: wrong XDP frag_size yields negative tailroom and a kernel panic

CVSS 5.5CVE-2026-23377Kernel, userspace & hypervisorcurated

Impact

The ice driver populated xdp_rxq_info.frag_size with the DMA write length instead of the buffer truesize, which is what bpf_xdp_frags_increase_tail() expects. A multi-buffer XDP program that grows the tail can therefore compute negative tailroom and panic the kernel; the record reproduces it with the XDP_ADJUST_TAIL_GROW_MULTI_BUFF selftest at a 6912-byte packet size. Intel E810 NICs are common front-end and storage NICs on GPU nodes, so an XDP-based load balancer, firewall or observability program on a host can crash it outright and take the attached accelerators offline with it. In zero-copy mode the panic was not observed, but tail growth still fails when it should succeed.

Who can reach it

Local and privileged: requires the ability to load and attach a multi-buffer XDP program to an ice-driven interface (root or CAP_BPF/CAP_NET_ADMIN). Not reachable by an unprivileged tenant and not reachable at all on hosts with no XDP program attached to an ice interface.

What to do

Take the stable kernel fix that uses the fill-queue buffer truesize in XDP RxQ info (five stable commits linked in the record; no fixed release number is stated there). Applying it requires draining and rebooting the node. As an interim measure, detaching multi-buffer XDP programs from ice interfaces, or avoiding tail-growing helpers in them, removes the crash path.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.