In the Linux kernel, the following vulnerability has been resolved:
net: Remove RTNL dance for SIOCBRADDIF and SIOCBRDELIF.
SIOCBRDELIF is passed to dev_ioctl() first and later forwarded to br_ioctl_call(), which causes unnecessary RTNL dance and the splat below [0] under RTNL pressure.
Let's say Thread A is trying to detach a device from a bridge and Thread B is trying to remove the bridge.
In dev_ioctl(), Thread A bumps the bridge device's refcnt by netdev_hold() and releases RTNL because the following br_ioctl_call() also re-acquires RTNL.
In the race window, Thread B could acquire RTNL and try to remove the bridge device. Then, rtnl_unlock() by Thread B will release RTNL and wait for netdev_put() by Thread A.
Thread A, however, must hold RTNL after the unlock in dev_ifsioc(), which may take long under RTNL pressure, resulting in the splat by Thread B.
Thread A (SIOCBRDELIF) Thread B (SIOCBRDELBR) ---------------------- ---------------------- sock_ioctl sock_ioctl `- sock_do_ioctl `- br_ioctl_call `- dev_ioctl `- br_ioctl_stub |- rtnl_lock | |- dev_ifsioc ' ' |- dev = __dev_get_by_name(...) |- netdev_hold(dev, ...) . / |- rtnl_unlock ------. | | |- br_ioctl_call `---> |- rtnl_lock Race | | `- br_ioctl_stub |- br_del_bridge Window | | | |- dev = __dev_get_by_name(...) | | | May take long | `- br_dev_delete(dev, ...) | | | under RTNL pressure | `- unregister_netdevice_queue(dev, ...) | | | | `- rtnl_unlock \ | |- rtnl_lock <-' `- netdev_run_todo | |- ... `- netdev_run_todo | `- rtnl_unlock |- __rtnl_unlock | |- netdev_wait_allrefs_any |- netdev_put(dev, ...) <----------------' Wait refcnt decrement and log splat below
To avoid blocking SIOCBRDELBR unnecessarily, let's not call dev_ioctl() for SIOCBRADDIF and SIOCBRDELIF.
In the dev_ioctl() path, we do the following:
1. Copy struct ifreq by get_user_ifreq in sock_do_ioctl() 2. Check CAP_NET_ADMIN in dev_ioctl() 3. Call dev_load() in dev_ioctl() 4. Fetch the master dev from ifr.ifr_name in dev_ifsioc()
3. can be done by request_module() in br_ioctl_call(), so we move 1., 2., and 4. to br_ioctl_stub().
Note that 2. is also checked later in add_del_if(), but it's better performed before RTNL.
SIOCBRADDIF and SIOCBRDELIF have been processed in dev_ioctl() since the pre-git era, and there seems to be no specific reason to process them there.
[0]: unregister_netdevice: waiting for wpan3 to become free. Usage count = 2 ref_tracker: wpan3@ffff8880662d8608 has 1/1 users at __netdev_tracker_alloc include/linux/netdevice.h:4282 [inline] netdev_hold include/linux/netdevice.h:4311 [inline] dev_ifsioc+0xc6a/0x1160 net/core/dev_ioctl.c:624 dev_ioctl+0x255/0x10c0 net/core/dev_ioctl.c:826 sock_do_ioctl+0x1ca/0x260 net/socket.c:1213 sock_ioctl+0x23a/0x6c0 net/socket.c:1318 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:906 [inline] __se_sys_ioctl fs/ioctl.c:892 [inline] __x64_sys_ioctl+0x1a4/0x210 fs/ioctl.c:892 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcb/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linuxUpgrade linux-6.1 | May 15, 2025 | Apr 16, 2025 |
| Oracle_linux | — | Upgrade kernel-uek | Mar 12, 2026 | Apr 16, 2025 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Jul 9, 2025 | Apr 16, 2025 |
| Suse | — | Upgrade kernel-64kbUpgrade kernel-macrosUpgrade kernel-azure-develUpgrade dlm-kmp-defaultUpgrade reiserfs-kmp-azureUpgrade cluster-md-kmp-azureUpgrade kernel-default-extraUpgrade ocfs2-kmp-rtUpgrade reiserfs-kmp-rtUpgrade kernel-zfcpdumpUpgrade kernel-symsUpgrade kernel-syms-azureUpgrade dtb-amazonUpgrade dtb-appleUpgrade dtb-armUpgrade dtb-exynosUpgrade kernel-default-develUpgrade kernel-rt-livepatch-develUpgrade kernel-azure-vdsoUpgrade kernel-rt_debug-vdsoUpgrade dtb-hisiliconUpgrade dtb-qcomUpgrade kernel-64kb-optionalUpgrade kernel-debug-develUpgrade kernel-obs-qaUpgrade kernel-debugUpgrade kernel-rt_debugUpgrade gfs2-kmp-rtUpgrade dtb-apmUpgrade kernel-rtUpgrade dtb-socionextUpgrade kernel-sourceUpgrade kernel-source-azureUpgrade kernel-devel-rtUpgrade dlm-kmp-azureUpgrade kernel-64kb-develUpgrade cluster-md-kmp-defaultUpgrade dtb-amlogicUpgrade kselftests-kmp-defaultUpgrade kernel-docsUpgrade kernel-kvmsmallUpgrade kernel-devel-azureUpgrade gfs2-kmp-64kbUpgrade dtb-mediatekUpgrade dtb-xilinxUpgrade kernel-kvmsmall-develUpgrade kernel-rt-develUpgrade kernel-syms-rtUpgrade kernel-azureUpgrade kernel-default-base-rebuildUpgrade dtb-allwinnerUpgrade cluster-md-kmp-64kbUpgrade kernel-docs-htmlUpgrade dtb-alteraUpgrade dlm-kmp-rtUpgrade kselftests-kmp-64kbUpgrade kernel-rt-extraUpgrade cluster-md-kmp-rtUpgrade kernel-develUpgrade kernel-default-vdsoUpgrade kernel-azure-extraUpgrade kernel-kvmsmall-vdsoUpgrade ocfs2-kmp-64kbUpgrade kernel-default-baseUpgrade kernel-defaultUpgrade dtb-renesasUpgrade kselftests-kmp-azureUpgrade ocfs2-kmp-azureUpgrade gfs2-kmp-defaultUpgrade reiserfs-kmp-64kbUpgrade kernel-rt-optionalUpgrade ocfs2-kmp-defaultUpgrade kernel-rt-vdsoUpgrade kernel-obs-buildUpgrade dtb-sprdUpgrade dtb-lgUpgrade dtb-amdUpgrade dlm-kmp-64kbUpgrade kernel-source-vanillaUpgrade dtb-nvidiaUpgrade dtb-caviumUpgrade dtb-broadcomUpgrade gfs2-kmp-azureUpgrade kernel-default-optionalUpgrade dtb-rockchipUpgrade kernel-azure-optionalUpgrade dtb-marvellUpgrade dtb-freescaleUpgrade kernel-default-livepatch-develUpgrade kernel-default-livepatchUpgrade kernel-debug-vdsoUpgrade kernel-64kb-extraUpgrade kernel-rt_debug-develUpgrade kselftests-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade kernel-source-rt | Dec 5, 2025 | Jul 8, 2025 |
| Ubuntu | — | Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-6.8.0-1051-nvidiaUpgrade linux-image-6.14.0-1007-raspiUpgrade linux-image-6.8.0-1022-nvidia-tegraUpgrade linux-image-6.8.0-1054-gcpUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-fips-6.8Upgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-5.15.0-173-fipsUpgrade linux-image-oem-22.04Upgrade linux-image-5.15.0-1097-ibmUpgrade linux-image-azure-fipsUpgrade linux-image-azure-fdeUpgrade linux-image-5.15.0-1103-aws-fipsUpgrade linux-image-raspi-realtimeUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1054-azureUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-aws-64k-6.8Upgrade linux-image-5.15.0-1097-raspiUpgrade linux-image-6.8.0-1052-aws-64kUpgrade linux-image-5.15.0-1103-aws-64kUpgrade linux-image-6.8.0-1051-nvidia-64kUpgrade linux-image-gke-5.15Upgrade linux-image-kvm-5.15Upgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-1095-kvmUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-6.8.0-110-genericUpgrade linux-image-5.15.0-1109-azureUpgrade linux-image-6.8.0-1037-gkeopUpgrade linux-image-5.15.0-1100-oracleUpgrade linux-image-raspi-nolpaeUpgrade linux-image-generic-64kUpgrade linux-image-gkeop-6.8Upgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-6.8.0-1049-oracleUpgrade linux-image-5.15.0-1044-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-110-lowlatencyUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-2042-raspi-realtimeUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1098-intel-iotgUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-oracle-5.15Upgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-110-lowlatency-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-ibmUpgrade linux-image-ibm-6.8Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-6.14.0-1008-gcpUpgrade linux-image-genericUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-generic-6.8Upgrade linux-image-oem-20.04dUpgrade linux-image-6.8.0-1050-gkeUpgrade linux-image-fips-5.15Upgrade linux-image-generic-lpaeUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-ibm-classicUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-5.15.0-173-lowlatencyUpgrade linux-image-gcp-fipsUpgrade linux-image-6.8.0-1051-nvidia-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-5.15.0-1103-awsUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1052-aws-fipsUpgrade linux-image-generic-64k-6.8Upgrade linux-image-6.8.0-1054-azure-fipsUpgrade linux-image-oem-22.04cUpgrade linux-image-nvidia-tegraUpgrade linux-image-5.15.0-1103-gcpUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-aws-6.8Upgrade linux-image-5.15.0-173-generic-lpaeUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-5.15.0-1044-nvidia-tegra-igxUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-aws-64k-5.15Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-gkeopUpgrade linux-image-6.14.0-1007-awsUpgrade linux-image-5.15.0-1094-intel-iot-realtimeUpgrade linux-image-xilinxUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-fipsUpgrade linux-image-azure-lts-22.04Upgrade linux-image-nvidia-5.15Upgrade linux-image-gcpUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-5.15.0-173-generic-64kUpgrade linux-image-5.15.0-1098-nvidiaUpgrade linux-image-aws-5.15Upgrade linux-image-6.8.0-1049-oracle-64kUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-virtual-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-6.8.0-110-fipsUpgrade linux-image-gkeop-5.15Upgrade linux-image-gcp-64kUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-oem-22.04dUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-5.15.0-1086-gkeopUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-gcp-5.15Upgrade linux-image-5.15.0-1103-gcp-fipsUpgrade linux-image-oem-20.04Upgrade linux-image-6.14.0-1007-aws-64kUpgrade linux-image-5.15.0-1102-realtimeUpgrade linux-image-azure-cvmUpgrade linux-image-6.14.0-1007-azure-fdeUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-6.8.0-1051-nvidia-lowlatency-64kUpgrade linux-image-6.8.1-1047-realtimeUpgrade linux-image-5.15.0-1099-gkeUpgrade linux-image-5.15.0-173-genericUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-raspiUpgrade linux-image-6.8.0-1054-gcp-fipsUpgrade linux-image-aws-fips-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-ibm-5.15Upgrade linux-image-intelUpgrade linux-image-azure-fips-5.15Upgrade linux-image-aws-lts-24.04Upgrade linux-image-5.15.0-173-lowlatency-64kUpgrade linux-image-virtual-5.15Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-nvidia-64kUpgrade linux-image-generic-5.15Upgrade linux-image-nvidia-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-6.14.0-22-generic-64kUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-oracle-6.8Upgrade linux-image-5.15.0-1110-azureUpgrade linux-image-azureUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-awsUpgrade linux-image-6.14.0-22-genericUpgrade linux-image-6.14.0-1007-oracleUpgrade linux-image-5.15.0-1098-nvidia-lowlatencyUpgrade linux-image-5.15.0-1055-nvidia-tegraUpgrade linux-image-azure-5.15Upgrade linux-image-oem-20.04cUpgrade linux-image-realtimeUpgrade linux-image-oracleUpgrade linux-image-generic-64k-5.15Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-aws-fipsUpgrade linux-image-5.15.0-1109-azure-fipsUpgrade linux-image-gke-6.8Upgrade linux-image-6.8.0-1050-gke-64kUpgrade linux-image-gkeUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.14.0-1004-realtimeUpgrade linux-image-kvmUpgrade linux-image-realtime-6.8.1Upgrade linux-image-raspi-6.8Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1054-gcp-64kUpgrade linux-image-6.8.0-1052-raspiUpgrade linux-image-5.15.0-1067-xilinx-zynqmpUpgrade linux-image-6.14.0-1007-oracle-64kUpgrade linux-image-5.15.0-1055-nvidia-tegra-rtUpgrade linux-image-raspi-5.15Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-azure-6.8Upgrade linux-image-aws-fips-5.15Upgrade linux-image-6.8.0-1052-awsUpgrade linux-image-gcp-6.8Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-gke-64kUpgrade linux-image-xilinx-6.8Upgrade linux-image-6.14.0-1008-gcp-64kUpgrade linux-image-lowlatency-5.15Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-1059-azureUpgrade linux-image-6.8.0-1051-ibmUpgrade linux-image-realtime-5.15Upgrade linux-image-6.8.0-1022-nvidia-tegra-rtUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-6.8.0-110-generic-64kUpgrade linux-image-6.14.0-1007-azure | Jun 26, 2025 | Apr 16, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | May 27, 2026 | Apr 16, 2025 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub