Description
In the Linux kernel, the following vulnerability has been resolved:
IB/ipoib: Fix mcast list locking
Releasing the `priv->lock` while iterating the `priv->multicast_list` in
`ipoib_mcast_join_task()` opens a window for `ipoib_mcast_dev_flush()` to
remove the items while in the middle of iteration. If the mcast is removed
while the lock was dropped, the for loop spins forever resulting in a hard
lockup (as was reported on RHEL 4.18.0-372.75.1.el8_6 kernel):
Task A (kworker/u72:2 below) | Task B (kworker/u72:0 below)
-----------------------------------+-----------------------------------
ipoib_mcast_join_task(work) | ipoib_ib_dev_flush_light(work)
spin_lock_irq(&priv->lock) | __ipoib_ib_dev_flush(priv, ...)
list_for_each_entry(mcast, | ipoib_mcast_dev_flush(dev = priv->dev)
&priv->multicast_list, list) |
ipoib_mcast_join(dev, mcast) |
spin_unlock_irq(&priv->lock) |
| spin_lock_irqsave(&priv->lock, flags)
| list_for_each_entry_safe(mcast, tmcast,
| &priv->multicast_list, list)
| list_del(&mcast->list);
| list_add_tail(&mcast->list, &remove_list)
| spin_unlock_irqrestore(&priv->lock, flags)
spin_lock_irq(&priv->lock) |
| ipoib_mcast_remove_list(&remove_list)
(Here, `mcast` is no longer on the | list_for_each_entry_safe(mcast, tmcast,
`priv->multicast_list` and we keep | remove_list, list)
spinning on the `remove_list` of | >>> wait_for_completion(&mcast->done)
the other thread which is blocked |
and the list is still valid on |
it's stack.)
Fix this by keeping the lock held and changing to GFP_ATOMIC to prevent
eventual sleeps.
Unfortunately we could not reproduce the lockup and confirm this fix but
based on the code review I think this fix should address such lockups.
crash> bc 31
PID: 747 TASK: ff1c6a1a007e8000 CPU: 31 COMMAND: "kworker/u72:2"
--
[exception RIP: ipoib_mcast_join_task+0x1b1]
RIP: ffffffffc0944ac1 RSP: ff646f199a8c7e00 RFLAGS: 00000002
RAX: 0000000000000000 RBX: ff1c6a1a04dc82f8 RCX: 0000000000000000
work (&priv->mcast_task{,.work})
RDX: ff1c6a192d60ac68 RSI: 0000000000000286 RDI: ff1c6a1a04dc8000
&mcast->list
RBP: ff646f199a8c7e90 R8: ff1c699980019420 R9: ff1c6a1920c9a000
R10: ff646f199a8c7e00 R11: ff1c6a191a7d9800 R12: ff1c6a192d60ac00
mcast
R13: ff1c6a1d82200000 R14: ff1c6a1a04dc8000 R15: ff1c6a1a04dc82d8
dev priv (&priv->lock) &priv->multicast_list (aka head)
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
--- <NMI exception stack> ---
#5 [ff646f199a8c7e00] ipoib_mcast_join_task+0x1b1 at ffffffffc0944ac1 [ib_ipoib]
#6 [ff646f199a8c7e98] process_one_work+0x1a7 at ffffffff9bf10967
crash> rx ff646f199a8c7e68
ff646f199a8c7e68: ff1c6a1a04dc82f8 <<< work = &priv->mcast_task.work
crash> list -hO ipoib_dev_priv.multicast_list ff1c6a1a04dc8000
(empty)
crash> ipoib_dev_priv.mcast_task.work.func,mcast_mutex.owner.counter ff1c6a1a04dc8000
mcast_task.work.func = 0xffffffffc0944910 <ipoib_mcast_join_task>,
mcast_mutex.owner.counter = 0xff1c69998efec000
crash> b 8
PID: 8 TASK: ff1c69998efec000 CPU: 33 COMMAND: "kworker/u72:0"
--
#3 [ff646f1980153d50] wait_for_completion+0x96 at ffffffff9c7d7646
#4 [ff646f1980153d90] ipoib_mcast_remove_list+0x56 at ffffffffc0944dc6 [ib_ipoib]
#5 [ff646f1980153de8] ipoib_mcast_dev_flush+0x1a7 at ffffffffc09455a7 [ib_ipoib]
#6 [ff646f1980153e58] __ipoib_ib_dev_flush+0x1a4 at ffffffffc09431a4 [ib_ipoib]
#7 [ff
---truncated---
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 4.1 | 4.19.307 |
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.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.7.7-1 | — |
| Debian 13 | linux | 6.7.7-1 | — |
| Debian 12 | linux | 6.1.82-1 | — |
| Debian 11 | linux | 5.10.216-1 | DSA-5681-1 |
| Debian 10 | linux | 4.19.316-1 | DLA-3840-1 |
| Debian 10 | linux-5.10 | 5.10.216-1~deb10u1 | DLA-3842-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1043.45 | — |
| Ubuntu 22.04 LTS | linux +1 | 5.15.0-106.116 | USN-6766-1 |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1061.67 | USN-6766-3 |
| Ubuntu 22.04 LTS | linux-azure | 5.15.0-1063.72 | USN-6766-1 |
| Ubuntu 22.04 LTS | linux-azure-6.5 | 6.5.0-1022.23~22.04.1 | USN-6819-1 |
| Ubuntu 22.04 LTS | linux-azure-fde | 5.15.0-1063.72.1 | USN-6766-1 |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1059.67 | USN-6766-1 |
| Ubuntu 22.04 LTS | linux-gcp-6.5 | 6.5.0-1022.24~22.04.1 | USN-6818-1 |
| Ubuntu 22.04 LTS | linux-gke +1 | 5.15.0-1058.63 | USN-6766-1 |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1044.51 | USN-6766-1 |
| Ubuntu 22.04 LTS | linux-hwe-6.5 | 6.5.0-41.41~22.04.2 | USN-6818-4 |
| Ubuntu 22.04 LTS | linux-ibm +1 | 5.15.0-1054.57 | USN-6766-2, USN-6766-1 |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1057.63 | USN-6795-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.5 | 6.5.0-41.41.1~22.04.1 | USN-6818-1 |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1054.55 | USN-6766-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.5 | 6.5.0-1021.22 | USN-6818-3 |
| Ubuntu 22.04 LTS | linux-nvidia-tegra | 5.15.0-1026.26 | — |
| Ubuntu 22.04 LTS | linux-nvidia-tegra-igx | 5.15.0-1015.15 | — |
| Ubuntu 22.04 LTS | linux-oem-6.1 | 6.1.0-1035.35 | USN-6688-1 |
| Ubuntu 22.04 LTS | linux-oem-6.5 | 6.5.0-1024.25 | USN-6819-3 |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1059.65 | USN-6766-1 |
| Ubuntu 22.04 LTS | linux-oracle-6.5 | 6.5.0-1024.24~22.04.1 | USN-6819-4 |
| Ubuntu 22.04 LTS | linux-riscv +21 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.5 | 6.5.0-40.40.1~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-starfive-6.5 | 6.5.0-1015.16~22.04.1 | USN-6819-1 |
| Ubuntu 22.04 LTS | linux-xilinx-zynqmp | 5.15.0-1030.34 | — |
| Ubuntu 20.04 LTS | linux | 5.4.0-181.201 | USN-6767-1 |
| Ubuntu 20.04 LTS | linux-aws | 5.4.0-1124.134 | USN-6767-1 |
| Ubuntu 20.04 LTS | linux-aws-5.15 | 5.15.0-1061.67~20.04.1 | USN-6766-3 |
| Ubuntu 20.04 LTS | linux-azure | 5.4.0-1129.136 | USN-6767-1 |
| Ubuntu 20.04 LTS | linux-azure-5.15 | 5.15.0-1063.72~20.04.1 | USN-6766-1 |
| Ubuntu 20.04 LTS | linux-azure-fde-5.15 | 5.15.0-1063.72~20.04.1.1 | USN-6766-1 |
| Ubuntu 20.04 LTS | linux-bluefield | 5.4.0-1084.91 | USN-6767-2 |
| Ubuntu 20.04 LTS | linux-gcp | 5.4.0-1128.137 | USN-6767-1 |
| Ubuntu 20.04 LTS | linux-gcp-5.15 | 5.15.0-1059.67~20.04.1 | USN-6766-1 |
| Ubuntu 20.04 LTS | linux-gke +26 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gkeop | 5.4.0-1091.95 | USN-6767-1 |
| Ubuntu 20.04 LTS | linux-gkeop-5.15 | 5.15.0-1044.51~20.04.1 | USN-6766-1 |
| Ubuntu 20.04 LTS | linux-hwe-5.15 +1 | 5.15.0-106.116~20.04.1 | USN-6766-2, USN-6766-1 |
| Ubuntu 20.04 LTS | linux-ibm | 5.4.0-1071.76 | USN-6767-1 |
| Ubuntu 20.04 LTS | linux-ibm-5.15 | 5.15.0-1054.57~20.04.1 | USN-6766-1 |
| Ubuntu 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1058.64~20.04.1 | USN-6828-1 |
| Ubuntu 20.04 LTS | linux-iot | 5.4.0-1036.37 | USN-6767-1 |
| Ubuntu 20.04 LTS | linux-kvm | 5.4.0-1112.119 | USN-6767-1 |
| Ubuntu 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1027.27~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-oracle | 5.4.0-1123.132 | USN-6767-1 |
| Ubuntu 20.04 LTS | linux-oracle-5.15 | 5.15.0-1059.65~20.04.1 | USN-6766-1 |
| Ubuntu 20.04 LTS | linux-raspi | 5.4.0-1108.120 | USN-6767-1 |
| Ubuntu 20.04 LTS | linux-riscv-5.15 | 5.15.0-1057.61~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-xilinx-zynqmp | 5.4.0-1043.47 | USN-6767-1 |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
Show 13 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2001.1 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1054.56 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1062.70 | — |
| Ubuntu Pro FIPS 20.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS 18.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS 16.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-aws-fips | 5.15.0-1061.67+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-azure-fips | 5.15.0-1063.72+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips | 5.15.0-106.116+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-gcp-fips | 5.15.0-1059.67+fips1 | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-aws-fips | 5.4.0-1124.134+fips1 | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-azure-fips | 5.4.0-1129.136+fips1 | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-fips | 5.4.0-1098.108 | — |
| Ubuntu Pro FIPS-updates 20.04 LTS | linux-gcp-fips | 5.4.0-1128.137+fips1 | — |
| Ubuntu Pro FIPS-updates 18.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-updates 16.04 LTS | linux-fips | No fix yet | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro 18.04 LTS | linux +5 | No fix yet | — |
| Ubuntu Pro 18.04 LTS | linux-aws-5.4 | 5.4.0-1124.134~18.04.1 | USN-6767-1 |
| Ubuntu Pro 18.04 LTS | linux-azure-5.4 | 5.4.0-1129.136~18.04.1 | USN-6767-1 |
| Ubuntu Pro 18.04 LTS | linux-gcp-5.4 | 5.4.0-1128.137~18.04.1 | USN-6767-1 |
| Ubuntu Pro 18.04 LTS | linux-hwe-5.4 | 5.4.0-181.201~18.04.1 | USN-6767-1 |
| Ubuntu Pro 18.04 LTS | linux-ibm-5.4 | 5.4.0-1071.76~18.04.1 | USN-6767-1 |
| Ubuntu Pro 18.04 LTS | linux-oracle-5.4 | 5.4.0-1123.132~18.04.1 | USN-6767-1 |
| Ubuntu Pro 18.04 LTS | linux-raspi-5.4 | 5.4.0-1108.120~18.04.1 | USN-6767-1 |
| Ubuntu Pro 16.04 LTS | linux +7 | No fix yet | — |
| Ubuntu Pro 14.04 LTS | linux-aws +2 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP5 | kernel-64kb +6 | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| SLES 15 SP5 | kernel-azure +2 | 5.14.21-150500.33.48.1 | SUSE-SU-2024:1490-1 |
| SLES 15 SP5 | kernel-default-base | 5.14.21-150500.55.59.1.150500.6.25.7 | SUSE-SU-2024:1480-1 |
| SLES 12 SP5 | kernel-azure +2 | 4.12.14-16.182.1 | SUSE-SU-2024:1643-1 |
| SLES 12 SP5 | kernel-docs +4 | 4.12.14-122.216.1 | SUSE-SU-2024:1870-1 |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 12 SP5 | kernel-azure +2 | 4.12.14-16.182.1 | SUSE-SU-2024:1643-1 |
| SLES for SAP 12 SP5 | kernel-syms +2 | 4.12.14-122.216.1 | SUSE-SU-2024:1870-1 |
| SLE Real Time 12 SP5 | kernel-rt +3 | 4.12.14-10.182.1 | SUSE-SU-2024:1646-1 |
| SLE Micro 5.5 | kernel-default | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| SLE Micro 5.5 | kernel-default-base | 5.14.21-150500.55.59.1.150500.6.25.7 | SUSE-SU-2024:1480-1 |
| SLE Micro 5.5 | kernel-rt +1 | 5.14.21-150500.13.47.1 | SUSE-SU-2024:1466-1 |
| SLE Live Patching 15 SP5 | kernel-default | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5-RT_Update_13 | 1-150500.11.3.1 | SUSE-SU-2024:1466-1 |
| SLE Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_12 | 1-150500.11.7.1 | SUSE-SU-2024:1480-1 |
| SLE Live Patching 12 SP5 | kernel-default | 4.12.14-122.216.1 | SUSE-SU-2024:1870-1 |
| SLE Live Patching 12 SP5 | kgraft-patch-SLE12-SP5_Update_56 | 1-8.3.1 | SUSE-SU-2024:1870-1 |
| SUSE Real Time Module 15 SP5 | kernel-rt +3 | 5.14.21-150500.13.47.1 | SUSE-SU-2024:1466-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.5 | dtb-aarch64 +10 | 5.14.21-150500.55.59.1 | SUSE-SU-2024:1480-1 |
| openSUSE Leap 15.5 | kernel-azure +2 | 5.14.21-150500.33.48.1 | SUSE-SU-2024:1490-1 |
| openSUSE Leap 15.5 | kernel-default-base | 5.14.21-150500.55.59.1.150500.6.25.7 | SUSE-SU-2024:1480-1 |
| openSUSE Leap 15.5 | kernel-rt +3 | 5.14.21-150500.13.47.1 | SUSE-SU-2024:1466-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2 | kernel-livepatch-4.14.343-259.562 | 1.0-0.amzn2 | ALAS2-2024-2549 |
| Amazon Linux 2 | perf +8 | 4.14.343-259.562.amzn2 | ALAS2-2024-2549 |
Advisories 27
- USN-6819-4 linux-oracle-6.5 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-6818-3 linux-nvidia-6.5 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-6819-3 linux-oem-6.5 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-6818-1 linux, linux-gcp, linux-gcp-6.5, linux-lowlatency, linux-lowlatency-hwe-6.5, linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-6818-4 linux-hwe-6.5 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-6819-1 linux-azure, linux-azure-6.5, linux-starfive, linux-starfive-6.5 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-6766-1 linux, linux-azure, linux-azure-5.15, linux-azure-fde, linux-azure-fde-5.15, linux-gcp, linux-gcp-5.15, linux-gke, linux-gkeop, linux-gkeop-5.15, linux-ibm, linux-ibm-5.15, linux-kvm, linux-lowlatency, linux-lowlatency-hwe-5.15, linux-nvidia, linux-oracle, linux-oracle-5.15 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-6766-3 linux-aws, linux-aws-5.15 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-6828-1 linux-intel-iotg-5.15 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-6795-1 linux-intel-iotg vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-6766-2 linux-hwe-5.15, linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-6767-1 linux, linux-aws, linux-aws-5.4, linux-azure, linux-azure-5.4, linux-gcp, linux-gcp-5.4, linux-gkeop, linux-hwe-5.4, linux-ibm, linux-ibm-5.4, linux-iot, linux-kvm, linux-oracle, linux-oracle-5.4, linux-raspi, linux-raspi-5.4, linux-xilinx-zynqmp vulnerabilities Ubuntu Security Notices (USN) · Oct 22, 2026
- USN-6767-2 linux-bluefield vulnerabilities Ubuntu Security Notices (USN) · Oct 22, 2026
- USN-6688-1 linux-oem-6.1 vulnerabilities Ubuntu Security Notices (USN) · Oct 22, 2026
- DSA-5681-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-3840-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-3842-1 linux-5.10 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- ICSA-25-226-15 Siemens SINEC OS CISA ICS & IT advisories · Feb 25, 2026
- SSA-613116 SSA-613116: Multiple Vulnerabilities in Third-Party Components in SINEC OS before V3.1 Siemens ProductCERT · Feb 24, 2026
- WID-SEC-2024-0561 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Feb 15, 2026
- SUSE-SU-2024:1480-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1870-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1490-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1646-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1466-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:1643-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- ALAS2-2024-2549 Moderate: kernel security update (Amazon Linux 2) Amazon Linux Security Center (ALAS) · Mar 10, 2025
References
- https://git.kernel.org/stable/c/4c8922ae8eb8dcc1e4b7d1059d97a8334288d825
- https://git.kernel.org/stable/c/615e3adc2042b7be4ad122a043fc9135e6342c90
- https://git.kernel.org/stable/c/ac2630fd3c90ffec34a0bfc4d413668538b0e8f2
- https://git.kernel.org/stable/c/ed790bd0903ed3352ebf7f650d910f49b7319b34
- https://git.kernel.org/stable/c/5108a2dc2db5630fb6cd58b8be80a0c134bc310a
- https://git.kernel.org/stable/c/342258fb46d66c1b4c7e2c3717ac01e10c03cf18
- https://git.kernel.org/stable/c/7c7bd4d561e9dc6f5b7df9e184974915f6701a89
- https://git.kernel.org/stable/c/4f973e211b3b1c6d36f7c6a19239d258856749f9