In the Linux kernel, the following vulnerability has been resolved:
mm/vmalloc: do not trigger BUG() on BH disabled context
_getvmareanode() currently triggers a BUG() if ininterrupt() returns true. However, ininterrupt() also reports true when BH are disabled.
The bridge code can call rhashtablelookupinsert_fast() with bottom halves disabled:
__vlanadd() -> brfdb_addlocal() spinlockbh(&br->hashlock); <-- Disable BH -> fdbaddlocal() -> fdbcreate() -> rhashtablelookupinsertfast() -> kvmalloc() -> vmalloc() -> __getvmareanode() -> BUGON(ininterrupt()) spinunlockbh(&br->hashlock)
this triggers the BUG() despite the caller not being in NMI or hard IRQ context.
Replace the ininterrupt() check with innmi() || in_hardirq().
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63955.json"
}