CVE-2026-98617

CVE-2026-98617

published October 18, 2026

CVSS
—
EPSS
0%
Percentile
8.1
In the wild
Unconfirmed
What it is

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

eth: fbnic: use the Rx queue napi pointer to find the napi vector

The queue management ndos pick the napi vector for an Rx queue with:

nv = fbn->napi[idx % fbn->num_napi];

The issue is this is only correct in the cases where there are no

standalone Tx vectors. In those cases we were allocating the Tx vectors

first and then the Rx so the queues would be pointing to Tx NAPI vectors

instead of the Rx ones.

The mapping the ndos want is already recorded. fbnic_set_netif_napi()

publishes it with netif_queue_set_napi(), which stores the napi pointer

in netdev_rx_queue.napi, and fbnic_reset_netif_napi() clears it again.

Both run under the netdev instance lock that the queue management ndos

also hold, so the pointer can be read directly.

Use it and drop the divide. The pointer is NULL exactly while the

datapath is down, so fbnic_queue_mem_alloc() can reject that case rather

than reaching into freed state: netdev_rx_queue_restart() calls it

before it tests netif_running(), and fbnic_pm_suspend() leaves

netif_running() true across a PCIe recovery that never completes, so a

queue restart can arrive after fbnic_stop() has freed the rings and the

vectors. fbnic_stop() clears the association in

fbnic_reset_netif_queues() before fbnic_free_napi_vectors(), so the

NULL is always published first. fbnic_queue_start() and

fbnic_queue_stop() need no check of their own, as

netdev_rx_queue_reconfig() only reaches them once fbnic_queue_mem_alloc()

has succeeded under the same instance lock.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00189 · 8.1th percentile
Published
2026-10-18T20:17Z
References (2)
EPSS history
Timeline
  • 20 OCT 03:34Z
    EPSS moved — → 0%
    epss
  • 18 OCT 15:19Z
    eth: fbnic: use the Rx queue napi pointer to find the napi vector
    cvelistv5
  • 18 OCT 15:19Z
    eth: fbnic: use the Rx queue napi pointer to find the napi vector
    cvelistv5