Description
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.
Published: 2026-10-18
Score: n/a
EPSS: n/a
KEV: No
Impact: Denial of Service via kernel crash
Action: Patch Immediately
AI Analysis

Impact

In Linux kernel version(s) affected by a bug in the fbnic driver, the calculation used to associate a receive queue with its NAPI vector incorrectly uses a modulo operation that can select a transmit NAPI vector instead of the intended one when standalone Tx vectors are present. This mismapping can result in the kernel attempting to operate on a freed or invalid NAPI pointer during a queue restart, potentially causing a null pointer dereference or other memory corruption in the kernel. The impact of this is a kernel panic or system reboot, which manifests as a denial‑of‑service condition for the whole system.

Affected Systems

The issue resides in the Linux kernel’s fbnic driver and therefore affects any system running a kernel build that includes the fbnic driver without the applied patch. No specific vendor or version list is provided, so all installations that have not updated to a kernel revision with the fix are potentially vulnerable.

Risk and Exploitability

The vulnerability lacks a publicly available CVSS score and EPSS data, but the nature of the flaw suggests a local privilege or kernel‑level exploitation vector. An attacker who can trigger a queue restart after the device has been stopped could cause the kernel to crash. The flaw is not listed in the CISA KEV catalog, indicating no known active exploitation but it could be leveraged in a targeted scenario. Without a CVSS rating or documented exploits, the overall risk remains moderate, conditioned on the presence of the vulnerable driver and the attacker’s ability to influence receive queue operations.

Generated by OpenCVE AI on October 18, 2026 at 22:39 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest Linux kernel update that contains the fbnic NAPI vector fix
  • If an immediate kernel update is impractical, unload or disable the fbnic driver to eliminate the fault path
  • Verify that no loadable modules or user processes are attempting to reset or restart network queues on a stopped device

Generated by OpenCVE AI on October 18, 2026 at 22:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 18 Oct 2026 23:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Sun, 18 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Description 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.
Title eth: fbnic: use the Rx queue napi pointer to find the napi vector
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-18T15:19:37.060Z

Reserved: 2026-09-25T10:25:14.360Z

Link: CVE-2026-98617

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:14.600

Modified: 2026-10-18T16:17:14.600

Link: CVE-2026-98617

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-18T22:45:04Z

Weaknesses