CVE-2026-63955

Summary

In the Linux kernel, the following vulnerability has been resolved:

mm/vmalloc: do not trigger BUG() on BH disabled context

__get_vm_area_node() currently triggers a BUG() if in_interrupt() returns true. However, in_interrupt() also reports true when BH are disabled.

The bridge code can call rhashtable_lookup_insert_fast() with bottom halves disabled:

__vlan_add() -> br_fdb_add_local() spin_lock_bh(&br->hash_lock); <– Disable BH -> fdb_add_local() -> fdb_create() -> rhashtable_lookup_insert_fast() -> kvmalloc() -> vmalloc() -> __get_vm_area_node() -> BUG_ON(in_interrupt()) spin_unlock_bh(&br->hash_lock)

this triggers the BUG() despite the caller not being in NMI or hard IRQ context.

Replace the in_interrupt() check with in_nmi() || in_hardirq().

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxc6307674ed82c0c57d6e1e3408e84ac449ab8e94 < ad7eff07b625f53c3fb513b30d7a8c5a79fbc7ceaffected
LinuxLinuxc6307674ed82c0c57d6e1e3408e84ac449ab8e94 < 04aa71da5f35aacdc9ae9cb5150947daa624f641affected
LinuxLinux6.19affected
LinuxLinux0 < 6.19unaffected
LinuxLinux7.0.12 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References