CVE-2025-38392 Information
Description
In the Linux kernel the following vulnerability has been resolved:
idpf: convert control queue mutex to a spinlock
With VIRTCHNL2_CAP_MACFILTER enabled the following warning is generated on module load:
[ 324.701677] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:578
[ 324.701684] in_atomic(): 1 irqs_disabled(): 0 non_block: 0 pid: 1582 name: NetworkManager
[ 324.701689] preempt_count: 201 expected: 0
[ 324.701693] RCU nest depth: 0 expected: 0
[ 324.701697] 2 locks held by NetworkManager/1582:
[ 324.701702] 0: ffffffff9f7be770 (rtnl_mutex)….-3:3 at: rtnl_newlink+0x791/0x21e0
[ 324.701730] 1: ff1100216c380368 (_xmit_ETHER)….-2:2 at: __dev_open+0x3f0/0x870
[ 324.701749] Preemption disabled at:
[ 324.701752] [
The sequence is as follows: rtnl_newlink()-> __dev_change_flags()-> __dev_open()-> dev_set_rx_mode() - > disables BH and grabs \dev->addr_list_lock\n idpf_set_rx_mode() -> proceed only if VIRTCHNL2_CAP_MACFILTER is ON __dev_uc_sync() -> idpf_add_mac_filter -> idpf_add_del_mac_filters -> idpf_send_mb_msg() -> idpf_mb_clean() -> idpf_ctlq_clean_sq() mutex_lock(cq_lock)
Fix by converting cq_lock to a spinlock. All operations under the new lock are safe except freeing the DMA memory which may use vunmap(). Fix by requesting a contiguous physical memory for the DMA mapping.
Reference
https://git.kernel.org/stable/c/9a36715cd6bc6a6f16230e19a7f947bab34b3fe5 https://git.kernel.org/stable/c/b2beb5bb2cd90d7939e470ed4da468683f41baa3 https://git.kernel.org/stable/c/dc6c3c2c9dfdaa3a3357f59a80a2904677a71a9a
Related CNNVD
CNNVD-202507-3219 (Published: 2025-07-25)
Share on: