Skip to content
OpenAdvisories
Critical · 9.8 CVE-2026-45898 EUVD-2026-32364GHSA-527m-87rr-p4rj

RDMA/iwcm: Fix workqueue list corruption by removing work_list

Published May 27, 2026 · Updated Oct 19, 2026 · Assigned by Linux

Vendor: Linux Product: Linux 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.14 Package: linux-aws-6.17 Package: linux-aws-6.2 Package: linux-aws-6.5 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.14 Package: linux-azure-6.17 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.14 Package: linux-azure-fde-6.2 Package: linux-azure-nvidia-6.14 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.14 Package: linux-gcp-6.17 Package: linux-gcp-6.2 Package: linux-gcp-6.5 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.14 Package: linux-hwe-6.17 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-edge Package: linux-intel-5.13 Package: linux-intel-iot-realtime 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-nvidia-6.11 Package: linux-nvidia-6.17 Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 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.14 Package: linux-oem-6.17 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.14 Package: linux-oracle-6.17 Package: linux-oracle-6.5 Package: linux-raspi Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.14 Package: linux-realtime-6.17 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.14 Package: linux-riscv-6.17 Package: linux-riscv-6.5 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

RDMA/iwcm: Fix workqueue list corruption by removing work_list

The commit e1168f0 ("RDMA/iwcm: Simplify cm_event_handler()")
changed the work submission logic to unconditionally call
queue_work() with the expectation that queue_work() would
have no effect if work was already pending. The problem is
that a free list of struct iwcm_work is used (for which
struct work_struct is embedded), so each call to queue_work()
is basically unique and therefore does indeed queue the work.

This causes a problem in the work handler which walks the work_list
until it's empty to process entries. This means that a single
run of the work handler could process item N+1 and release it
back to the free list while the actual workqueue entry is still
queued. It could then get reused (INIT_WORK...) and lead to
list corruption in the workqueue logic.

Fix this by just removing the work_list. The workqueue already
does this for us.

This fixes the following error that was observed when stress
testing with ucmatose on an Intel E830 in iWARP mode:

[ 151.465780] list_del corruption. next->prev should be ffff9f0915c69c08, but was ffff9f0a1116be08. (next=ffff9f0a15b11c08)
[ 151.466639] ------------[ cut here ]------------
[ 151.466986] kernel BUG at lib/list_debug.c:67!
[ 151.467349] Oops: invalid opcode: 0000 [#1] SMP NOPTI
[ 151.467753] CPU: 14 UID: 0 PID: 2306 Comm: kworker/u64:18 Not tainted 6.19.0-rc4+ #1 PREEMPT(voluntary)
[ 151.468466] Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 151.469192] Workqueue: 0x0 (iw_cm_wq)
[ 151.469478] RIP: 0010:__list_del_entry_valid_or_report+0xf0/0x100
[ 151.469942] Code: c7 58 5f 4c b2 e8 10 50 aa ff 0f 0b 48 89 ef e8 36 57 cb ff 48 8b 55 08 48 89 e9 48 89 de 48 c7 c7 a8 5f 4c b2 e8 f0 4f aa ff <0f> 0b 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 90 90 90 90 90 90
[ 151.471323] RSP: 0000:ffffb15644e7bd68 EFLAGS: 00010046
[ 151.471712] RAX: 000000000000006d RBX: ffff9f0915c69c08 RCX: 0000000000000027
[ 151.472243] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff9f0a37d9c600
[ 151.472768] RBP: ffff9f0a15b11c08 R08: 0000000000000000 R09: c0000000ffff7fff
[ 151.473294] R10: 0000000000000001 R11: ffffb15644e7bba8 R12: ffff9f092339ee68
[ 151.473817] R13: ffff9f0900059c28 R14: ffff9f092339ee78 R15: 0000000000000000
[ 151.474344] FS: 0000000000000000(0000) GS:ffff9f0a847b5000(0000) knlGS:0000000000000000
[ 151.474934] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 151.475362] CR2: 0000559e233a9088 CR3: 000000020296b004 CR4: 0000000000770ef0
[ 151.475895] PKRU: 55555554
[ 151.476118] Call Trace:
[ 151.476331] <TASK>
[ 151.476497] move_linked_works+0x49/0xa0
[ 151.476792] __pwq_activate_work.isra.46+0x2f/0xa0
[ 151.477151] pwq_dec_nr_in_flight+0x1e0/0x2f0
[ 151.477479] process_scheduled_works+0x1c8/0x410
[ 151.477823] worker_thread+0x125/0x260
[ 151.478108] ? __pfx_worker_thread+0x10/0x10
[ 151.478430] kthread+0xfe/0x240
[ 151.478671] ? __pfx_kthread+0x10/0x10
[ 151.478955] ? __pfx_kthread+0x10/0x10
[ 151.479240] ret_from_fork+0x208/0x270
[ 151.479523] ? __pfx_kthread+0x10/0x10
[ 151.479806] ret_from_fork_asm+0x1a/0x30
[ 151.480103] </TASK>

Affected products

VendorProductAffectedFixed
Linux Linux 6.11 6.12.75

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.18.14-1 —
Debian 13 linux 6.12.85-1 —
ReleasePackageFixed inAdvisory
Ubuntu 25.10 linux 6.17.0-40.40 USN-8490-1
Ubuntu 25.10 linux-aws 6.17.0-1019.19 USN-8490-1
Ubuntu 25.10 linux-azure +1 No fix yet —
Ubuntu 25.10 linux-gcp 6.17.0-1020.22 USN-8490-1
Ubuntu 25.10 linux-oracle 6.17.0-1018.18 USN-8490-1
Ubuntu 25.10 linux-raspi 6.17.0-1021.21 USN-8546-1
Ubuntu 25.10 linux-realtime 6.17.0-1017.19 USN-8490-2
Ubuntu 25.10 linux-riscv 6.17.0-40.40.1 —
Ubuntu 24.04 LTS linux-aws-6.17 6.17.0-1019.19~24.04.1 USN-8490-1
Ubuntu 24.04 LTS linux-azure-6.17 6.17.0-1021.21~24.04.1 USN-8604-1
Ubuntu 24.04 LTS linux-gcp-6.17 6.17.0-1020.22~24.04.1 USN-8490-1
Ubuntu 24.04 LTS linux-hwe-6.17 6.17.0-40.40~24.04.1 USN-8545-1
Ubuntu 24.04 LTS linux-nvidia-6.17 6.17.0-1026.26 USN-8508-1
Ubuntu 24.04 LTS linux-oem-6.17 6.17.0-1028.28 USN-8491-1
Ubuntu 24.04 LTS linux-oracle-6.17 +1 6.17.0-1018.18~24.04.1 USN-8605-1, USN-8490-1
Ubuntu 24.04 LTS linux-riscv +19 No fix yet —
Ubuntu 22.04 LTS linux-riscv +32 No fix yet —
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Show 2 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-realtime-6.14 No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-realtime-6.17 6.17.0-1017.19~24.04.1 USN-8490-2
ReleasePackageFixed inAdvisory
RHEL 10 rv +76 6.12.0-211.28.1.el10_2 RHSA-2026:30129
RHEL 9 rv +75 5.14.0-687.19.1.el9_8 RHSA-2026:30848
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 10.0 EUS rv +77 6.12.0-55.82.1.el10_0 RHSA-2026:27731
RHEL 9.6 EUS rv +77 5.14.0-570.123.1.el9_6 RHSA-2026:27708

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 10 rv +74 6.12.0-211.28.1.el10_2 ALSA-2026:30129
AlmaLinux 9 rv +73 5.14.0-687.19.1.el9_8 ALSA-2026:30848

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 10 kernel 6.12.0-211.28.1.el10_2 RLSA-2026:30129
ReleasePackageFixed inAdvisory
SLES 15 SP7 kernel-64kb +6 6.4.0-150700.53.60.1 SUSE-SU-2026:2482-1
SLES 15 SP7 kernel-default-base 6.4.0-150700.53.60.1.150700.17.35.4 SUSE-SU-2026:2482-1
SLES 15 SP7 kernel-obs-build 6.4.0-150700.53.60.2 SUSE-SU-2026:2482-1
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 kernel-64kb +8 6.12.0-160000.35.1 SUSE-SU-2026:22127-1
SLES for SAP 16.0 kernel-default-base 6.12.0-160000.35.1.160000.2.16 SUSE-SU-2026:22127-1
SLES 16.0 kernel-64kb +8 6.12.0-160000.35.1 SUSE-SU-2026:22127-1, SUSE-SU-2026:22099-1
SLES 16.0 kernel-default-base 6.12.0-160000.35.1.160000.2.16 SUSE-SU-2026:22127-1
SLE Micro 6.2 kernel-default-base 6.12.0-160000.35.1.160000.2.16 SUSE-SU-2026:22112-1
SLE Micro 6.2 kernel-rt +5 6.12.0-160000.35.1 SUSE-SU-2026:22117-1, SUSE-SU-2026:22112-1
SLE Live Patching 15 SP7 kernel-default 6.4.0-150700.53.60.1 SUSE-SU-2026:2482-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7-RT_Update_16 1-150700.1.5.2 SUSE-SU-2026:2591-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7_Update_16 1-150700.15.3.2 SUSE-SU-2026:2482-1
SUSE Real Time Module 15 SP7 kernel-rt +1 6.4.0-150700.7.59.2 SUSE-SU-2026:2591-1
SUSE Real Time Module 15 SP7 kernel-syms-rt 6.4.0-150700.7.59.1 SUSE-SU-2026:2591-1
ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 kernel-default-base 6.12.0-160000.35.1.160000.2.16 openSUSE-SU-2026:20965-1
openSUSE Leap 16.0 kernel-rt +11 6.12.0-160000.35.1 openSUSE-SU-2026:20965-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 kernel-livepatch-6.12.77-99.140 +1 1:1.0-0.amzn2023 ALAS2023-2026-1543, ALAS2023-2026-1514
Amazon Linux 2023 perf6.12 +14 1:6.12.77-99.140.amzn2023 ALAS2023-2026-1543
Amazon Linux 2023 perf6.18 +14 1:6.18.15-14.217.amzn2023 ALAS2023-2026-1514

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 10 rv +29 6.12.0-211.34.1.el10_2 ELSA-2026-30129
Oracle Linux 9 kernel-uek +34 6.12.0-204.92.4.2.el10uek ELSA-2026-50372
Oracle Linux 9 rv +28 5.14.0-687.19.1.el9_8 ELSA-2026-30848

Advisories 28

References