CVE-2026-98615
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: eth: fbnic: Set AW_FLUSH_MODE alongside AW_FLUSH when flushing the mailbox When tearing down the FW mailbox Rx ring, fbnic_mbx_reset_desc_ring() writes AW_CFG 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 FLUSH_MODE 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 fbnic_mbx_init_desc_ring() when the ring is rebuilt, once the outstanding writes are gone. The read path is unaffected. AR_CFG has no equivalent mode bit and AR_FLUSH 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 fbnic_mbx_init_desc_ring() restores BME and the TLP attributes, and clears both flush bits as a side effect.
View original CVE JSON
{
"id": "CVE-2026-98615",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-10-18T16:17:14.387",
"lastModified": "2026-10-19T10:19:25.490",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\neth: fbnic: Set AW_FLUSH_MODE alongside AW_FLUSH when flushing the mailbox\n\nWhen tearing down the FW mailbox Rx ring, fbnic_mbx_reset_desc_ring()\nwrites AW_CFG with FLUSH set and everything else, BME included, cleared.\nClearing BME halts the device's writes to the host but leaves the staged\nrequests parked in the PUL write pipeline rather than draining them, so\non the write path FLUSH alone never terminates the outstanding requests\nand the flush the firmware waits on never completes.\n\nAdd the FLUSH_MODE definition and set both bits so the staged writes\ndrain out of the pipeline on their own. BME stays cleared, so nothing\nlands on the host; it is restored later in fbnic_mbx_init_desc_ring()\nwhen the ring is rebuilt, once the outstanding writes are gone.\n\nThe read path is unaffected. AR_CFG has no equivalent mode bit and\nAR_FLUSH terminates the outstanding reads by itself, so it is left as\nis.\n\nBoth writes remain plain stores rather than read-modify-writes. That is\ndeliberate: the matching write in fbnic_mbx_init_desc_ring() restores\nBME and the TLP attributes, and clears both flush bits as a side effect."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/net/ethernet/meta/fbnic/fbnic_csr.h",
"drivers/net/ethernet/meta/fbnic/fbnic_fw.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "fea860a2a6136658708fb530a82d59d29f708b74",
"lessThan": "ed4163f6ba9b52bfd6216d5215ee7b8eb5072411",
"versionType": "git",
"status": "affected"
},
{
"version": "3b12f00ddd08e888273b2ac0488d396d90a836fc",
"lessThan": "8a052cd4b2caee1f90cf0e3874377066939c90e7",
"versionType": "git",
"status": "affected"
},
{
"version": "3b12f00ddd08e888273b2ac0488d396d90a836fc",
"lessThan": "a969db6548a1b046cd1423701f5f9c3f5794e90d",
"versionType": "git",
"status": "affected"
},
{
"version": "3b12f00ddd08e888273b2ac0488d396d90a836fc",
"lessThan": "8947f13e436a4ff5eed9f8f019b2865a07af4bb2",
"versionType": "git",
"status": "affected"
},
{
"version": "0a4aa8a32ddb96f320173a2e9b0e41f4a6d3746c",
"versionType": "git",
"status": "affected"
},
{
"version": "6.12.29",
"lessThan": "6.12.112",
"versionType": "semver",
"status": "affected"
},
{
"version": "6.14.7",
"lessThan": "6.15",
"versionType": "semver",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/net/ethernet/meta/fbnic/fbnic_csr.h",
"drivers/net/ethernet/meta/fbnic/fbnic_fw.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "6.15",
"status": "affected"
},
{
"version": "0",
"lessThan": "6.15",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.112",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.55",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.9",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/8947f13e436a4ff5eed9f8f019b2865a07af4bb2",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8a052cd4b2caee1f90cf0e3874377066939c90e7",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a969db6548a1b046cd1423701f5f9c3f5794e90d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ed4163f6ba9b52bfd6216d5215ee7b8eb5072411",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}