Skip to content
OpenAdvisories
Unscored CVE-2025-21681 EUVD-2025-2630GHSA-2x4f-r6q9-v77h

openvswitch: fix lockup on tx to unregistering netdev with carrier

Published Jan 31, 2025 · Updated Nov 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: kernel Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.11 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-nvidia Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.11 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.19 Package: linux-hwe-5.8 Package: linux-hwe-6.11 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-6.8 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-lowlatency Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.11 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-nvidia Package: linux-nvidia-6.11 Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.11 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.3 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx Platform: Linux Ecosystem: Azure Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

openvswitch: fix lockup on tx to unregistering netdev with carrier

Commit in a fixes tag attempted to fix the issue in the following
sequence of calls:

do_output
-> ovs_vport_send
-> dev_queue_xmit
-> __dev_queue_xmit
-> netdev_core_pick_tx
-> skb_tx_hash

When device is unregistering, the 'dev->real_num_tx_queues' goes to
zero and the 'while (unlikely(hash >= qcount))' loop inside the
'skb_tx_hash' becomes infinite, locking up the core forever.

But unfortunately, checking just the carrier status is not enough to
fix the issue, because some devices may still be in unregistering
state while reporting carrier status OK.

One example of such device is a net/dummy. It sets carrier ON
on start, but it doesn't implement .ndo_stop to set the carrier off.
And it makes sense, because dummy doesn't really have a carrier.
Therefore, while this device is unregistering, it's still easy to hit
the infinite loop in the skb_tx_hash() from the OVS datapath. There
might be other drivers that do the same, but dummy by itself is
important for the OVS ecosystem, because it is frequently used as a
packet sink for tcpdump while debugging OVS deployments. And when the
issue is hit, the only way to recover is to reboot.

Fix that by also checking if the device is running. The running
state is handled by the net core during unregistering, so it covers
unregistering case better, and we don't really need to send packets
to devices that are not running anyway.

While only checking the running state might be enough, the carrier
check is preserved. The running and the carrier states seem disjoined
throughout the code and different drivers. And other core functions
like __dev_direct_xmit() check both before attempting to transmit
a packet. So, it seems safer to check both flags in OVS as well.

Affected products

VendorProductAffectedFixed
Linux Linux 6.1.25 – < 6.1.127, 6.2.12 – < 6.3, 6.3 6.1.127

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.12.11-1 —
Debian 13 linux 6.12.11-1 —
Debian 12 linux 6.1.128-1 DSA-5860-1
Debian 11 linux-6.1 6.1.128-1~deb11u1 DLA-4076-1
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1072.74 —
Ubuntu 24.04 LTS linux 6.8.0-62.65 USN-7595-1
Ubuntu 24.04 LTS linux-aws 6.8.0-1030.32 USN-7595-1
Ubuntu 24.04 LTS linux-azure 6.8.0-1030.35 USN-7596-1
Ubuntu 24.04 LTS linux-azure-nvidia 6.8.0-1018.19 USN-7596-2
Ubuntu 24.04 LTS linux-gcp 6.8.0-1031.33 USN-7595-5
Ubuntu 24.04 LTS linux-gcp-6.11 +1 6.11.0-1013.13~24.04.1 USN-7448-1
Ubuntu 24.04 LTS linux-gke 6.8.0-1026.30 USN-7595-1
Ubuntu 24.04 LTS linux-gkeop 6.8.0-1013.15 USN-7595-1
Ubuntu 24.04 LTS linux-hwe-6.11 6.11.0-24.24~24.04.1 USN-7445-1
Ubuntu 24.04 LTS linux-ibm 6.8.0-1027.27 USN-7595-1
Ubuntu 24.04 LTS linux-lowlatency 6.8.0-62.65.1 USN-7595-1
Ubuntu 24.04 LTS linux-lowlatency-hwe-6.11 6.11.0-1012.13~24.04.1 USN-7445-1
Ubuntu 24.04 LTS linux-nvidia 6.8.0-1029.32 USN-7595-1
Ubuntu 24.04 LTS linux-nvidia-6.11 6.11.0-1007.7 —
Ubuntu 24.04 LTS linux-nvidia-lowlatency 6.8.0-1029.32.1 USN-7595-1
Ubuntu 24.04 LTS linux-nvidia-tegra 6.8.0-1008.8 —
Ubuntu 24.04 LTS linux-oem-6.11 6.11.0-1020.20 USN-7445-1
Ubuntu 24.04 LTS linux-oem-6.8 6.8.0-1029.29 USN-7595-1
Ubuntu 24.04 LTS linux-oracle 6.8.0-1027.28 USN-7595-4
Ubuntu 24.04 LTS linux-raspi 6.8.0-1029.33 USN-7595-4
Ubuntu 24.04 LTS linux-riscv +2 No fix yet —
Ubuntu 24.04 LTS linux-xilinx 6.8.0-1017.18 —
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1030.32~22.04.1 USN-7595-1
Ubuntu 22.04 LTS linux-azure-6.8 6.8.0-1030.35~22.04.1 USN-7596-1
Ubuntu 22.04 LTS linux-gcp-6.8 6.8.0-1031.33~22.04.1 USN-7595-5
Ubuntu 22.04 LTS linux-hwe-6.8 6.8.0-64.67~22.04.1 USN-7653-1
Ubuntu 22.04 LTS linux-ibm-6.8 6.8.0-1027.27~22.04.1 —
Ubuntu 22.04 LTS linux-lowlatency-hwe-6.8 6.8.0-62.65.1~22.04.1 USN-7595-1
Ubuntu 22.04 LTS linux-nvidia-6.8 6.8.0-1029.32~22.04.1 USN-7595-1
Ubuntu 22.04 LTS linux-oracle-6.8 6.8.0-1027.28~22.04.1 USN-7595-4
Ubuntu 22.04 LTS linux-riscv +32 No fix yet —
Ubuntu 22.04 LTS linux-riscv-6.8 6.8.0-62.65~22.04.1 —
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-raspi-realtime 6.8.0-2024.25 USN-7595-3
Ubuntu Pro Realtime 24.04 LTS linux-realtime 6.8.1-1023.24 USN-7595-2
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 6.8.1-1023.24~22.04.1 —
Ubuntu Pro FIPS-updates 24.04 LTS linux-fips 6.8.0-78.78+fips1 —
Ubuntu Pro 20.04 LTS linux-bluefield No fix yet —
ReleasePackageFixed inAdvisory
SLES 15 SP6 kernel-64kb +3 6.4.0-150600.23.42.2 SUSE-SU-2025:0856-1
SLES 15 SP6 kernel-azure +2 6.4.0-150600.8.31.1 SUSE-SU-2025:0847-1
SLES 15 SP6 kernel-coco +3 6.4.0-15061.15.coco15sp6.1 SUSE-SU-2025:0564-1
SLES 15 SP6 kernel-default-base 6.4.0-150600.23.42.2.150600.12.18.4 SUSE-SU-2025:0856-1
SLES 15 SP6 kernel-docs +2 6.4.0-150600.23.42.1 SUSE-SU-2025:0856-1
SLES 12 SP5 kernel-syms +2 4.12.14-122.293.1 SUSE-SU-2026:0473-1
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLE Micro 6.1 kernel-default-base 6.4.0-28.1.21.6 SUSE-SU-2025:20270-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0_Update_6 +1 1-3.1 SUSE-SU-2025:20270-1, SUSE-SU-2025:20260-1
SLE Micro 6.1 kernel-rt +4 6.4.0-28.1 SUSE-SU-2025:20270-1, SUSE-SU-2025:20260-1
SLE Micro 6.0 kernel-default-base 6.4.0-28.1.21.6 SUSE-SU-2025:20192-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0_Update_6 +1 1-3.1 SUSE-SU-2025:20192-1, SUSE-SU-2025:20190-1
SLE Micro 6.0 kernel-rt +4 6.4.0-28.1 SUSE-SU-2025:20192-1, SUSE-SU-2025:20190-1
SLE Live Patching 15 SP6 kernel-default 6.4.0-150600.23.42.2 SUSE-SU-2025:0856-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_9 1-150600.1.3.2 SUSE-SU-2025:0955-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_9 1-150600.13.3.4 SUSE-SU-2025:0856-1
SLE Live Patching 12 SP5 kernel-default 4.12.14-122.293.1 SUSE-SU-2026:0473-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_77 1-8.3.1 SUSE-SU-2026:0473-1
SUSE Real Time Module 15 SP6 kernel-rt +3 6.4.0-150600.10.29.1 SUSE-SU-2025:0955-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.6 dtb-aarch64 +4 6.4.0-150600.23.42.1 SUSE-SU-2025:0856-1
openSUSE Leap 15.6 kernel-64kb +5 6.4.0-150600.23.42.2 SUSE-SU-2025:0856-1
openSUSE Leap 15.6 kernel-azure +2 6.4.0-150600.8.31.1 SUSE-SU-2025:0847-1
openSUSE Leap 15.6 kernel-default-base 6.4.0-150600.23.42.2.150600.12.18.4 SUSE-SU-2025:0856-1
openSUSE Leap 15.6 kernel-rt +3 6.4.0-150600.10.29.1 SUSE-SU-2025:0955-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 kernel-livepatch-6.1.127-135.201 1.0-0.amzn2023 ALAS2023-2025-823
Amazon Linux 2023 perf +14 6.1.127-135.201.amzn2023 ALAS2023-2025-823

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 kernel 6.6.76.1-1 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 kernel-uek +34 6.12.0-101.33.4.3.el10uek ELSA-2025-20530, ELSA-2025-20480
Oracle Linux 8 bpftool +18 5.15.0-310.184.5.2.el9uek ELSA-2025-20470

Advisories 27

References