CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's memory management subsystem, specifically within the `__get_vm_area_node()` function, which improperly triggers a BUG() when called in a context where bottom halves (BH) are disabled. This can lead to system instability or crashes when certain bridge operations are performed, particularly during network packet processing. Organizations using Linux systems, especially those relying on networking features, should prioritize patching this vulnerability to mitigate potential disruptions in service.
Original NVD Description
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().