GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel mm/vmalloc: BUG_ON fires when vmalloc is reached with bottom halves disabled

CVSS 7.5CVE-2026-63955Kernel, userspace & hypervisorcurated

Impact

__get_vm_area_node() called BUG_ON(in_interrupt()), but in_interrupt() is also true when bottom halves are merely disabled. The bridge code reaches it through br_fdb_add_local() -> fdb_create() -> rhashtable_lookup_insert_fast() -> kvmalloc() -> vmalloc() while holding br->hash_lock with spin_lock_bh(), so a large enough rhashtable growth under that lock panics the host even though the caller is in neither NMI nor hard IRQ context. On a GPU node this is a full host kill, not a container kill: the bridge path is ordinary container and VM networking (docker0, CNI bridge, libvirt bridges), so it lands on exactly the hosts that carry tenant workloads. The reported trigger is a legitimate code path rather than a crafted attack, so treat this as a stability fix - the record does not establish tenant-reachable control over when it fires.

Who can reach it

Local, and indirect: anything that adds local FDB entries on a bridge (VLAN configuration, container or VM interface churn) can reach the path. No remote vector and no tenant-facing API is described in the record.

What to do

Patch the host kernel to a stable release carrying the two listed commits, which replace the in_interrupt() check with in_nmi() || in_hardirq(), then reboot each node; there is no runtime mitigation for a BUG_ON in the allocator. No fixed version numbers are given in the record - only the commit ids. Fold it into the next scheduled kernel rotation unless you are already seeing these panics on bridge-heavy hosts.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.