CVE-2026-98615: eth: fbnic: Set AW_FLUSH_MODE alongside AW_FLUSH when flushing the mailbox
In the Linux kernel, the following vulnerability has been resolved:
eth: fbnic: Set AWFLUSHMODE alongside AWFLUSH when flushing the mailbox
When tearing down the FW mailbox Rx ring, fbnicmbxresetdescring() writes AWCFG with FLUSH set and everything else, BME included, cleared. Clearing BME halts the device's writes to the host but leaves the staged requests parked in the PUL write pipeline rather than draining them, so on the write path FLUSH alone never terminates the outstanding requests and the flush the firmware waits on never completes.
Add the FLUSHMODE definition and set both bits so the staged writes drain out of the pipeline on their own. BME stays cleared, so nothing lands on the host; it is restored later in fbnicmbxinitdescring() when the ring is rebuilt, once the outstanding writes are gone.
The read path is unaffected. ARCFG has no equivalent mode bit and ARFLUSH terminates the outstanding reads by itself, so it is left as is.
Both writes remain plain stores rather than read-modify-writes. That is deliberate: the matching write in fbnicmbxinitdescring() restores BME and the TLP attributes, and clears both flush bits as a side effect.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Set the AW_FLUSH_MODE bit together with AW_FLUSH when flushing the firmware mailbox Rx ring so outstanding writes drain from the PUL write pipeline.
Linux kernel eth: fbnic mailbox AW_FLUSH_MODE = set alongside AW_FLUSH