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>
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-debugUpgrade kernel-modules-coreUpgrade kernel-rt-64k-modulesUpgrade kernel-rt-64k-debug-modules-coreUpgrade kernel-zfcpdump-develUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-rt-coreUpgrade kernel-debug-develUpgrade kernel-cross-headersUpgrade kernel-debug-modulesUpgrade kernel-rt-64k-debug-modulesUpgrade kernel-rt-64k-develUpgrade kernel-64k-modulesUpgrade kernel-rt-64k-modules-extraUpgrade kernel-rt-debug-coreUpgrade kernel-headersUpgrade kernel-tools-libsUpgrade kernel-rt-64k-debug-develUpgrade kernel-rt-64k-debugUpgrade kernel-64k-modules-coreUpgrade kernel-64k-debug-modules-extraUpgrade kernel-64k-debug-coreUpgrade kernel-64k-debug-develUpgrade kernel-debug-uki-virtUpgrade kernel-rt-64k-debug-coreUpgrade rtlaUpgrade kernel-develUpgrade kernel-64k-coreUpgrade kernelUpgrade kernel-64kUpgrade kernel-tools-libs-develUpgrade python3-perfUpgrade kernel-rt-modules-extraUpgrade kernel-rt-develUpgrade kernel-64k-develUpgrade libperfUpgrade kernel-debug-coreUpgrade kernel-devel-matchedUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-debug-modules-extraUpgrade kernel-64k-debugUpgrade kernel-rt-debug-modules-extraUpgrade perfUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-abi-stablelistsUpgrade rvUpgrade kernel-64k-debug-modulesUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-64k-coreUpgrade kernel-64k-modules-extraUpgrade kernel-zfcpdump-modulesUpgrade kernel-coreUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-64kUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-rt-modulesUpgrade kernel-modulesUpgrade kernel-rt-debugUpgrade kernel-rt-64k-modules-coreUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-debug-develUpgrade kernel-debug-modules-coreUpgrade kernel-docUpgrade kernel-64k-devel-matchedUpgrade kernel-modules-extraUpgrade kernel-zfcpdumpUpgrade kernel-uki-virt-addonsUpgrade kernel-64k-debug-modules-coreUpgrade kernel-rt-modules-coreUpgrade kernel-uki-virtUpgrade kernel-rtUpgrade kernel-debug-devel-matchedUpgrade kernel-tools | Jul 1, 2026 | Jun 29, 2026 |
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Redhat_linux | — | Upgrade kernelNo solution existsUpgrade kernel-rt | Jun 24, 2026 | May 27, 2026 |
| Rocky_linux | — | Upgrade kernel-debug-uki-virtUpgrade kernel-rt-coreUpgrade kernel-tools-libsUpgrade kernel-rt-debug-develUpgrade kernel-modules-coreUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-debug-coreUpgrade python3-perfUpgrade kernel-debug-develUpgrade kernel-zfcpdump-develUpgrade kernel-debugUpgrade kernel-rt-modules-extraUpgrade kernelUpgrade kernel-rt-debug-debuginfoUpgrade kernel-modulesUpgrade libperfUpgrade kernel-modules-extraUpgrade kernel-debuginfoUpgrade kernel-devel-matchedUpgrade kernel-debug-modulesUpgrade kernel-rt-debugUpgrade kernel-develUpgrade kernel-debug-coreUpgrade rtlaUpgrade kernel-coreUpgrade kernel-tools-debuginfoUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-uki-virtUpgrade kernel-debug-modules-coreUpgrade perf-debuginfoUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-debug-devel-matchedUpgrade kernel-rt-debuginfoUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rtUpgrade kernel-debug-debuginfoUpgrade kernel-rt-modules-coreUpgrade libperf-debuginfoUpgrade perfUpgrade kernel-toolsUpgrade kernel-modules-extra-matchedUpgrade kernel-zfcpdumpUpgrade kernel-tools-libs-develUpgrade kernel-rt-debug-modulesUpgrade python3-perf-debuginfoUpgrade kernel-rt-debug-modules-extraUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-develUpgrade kernel-rt-debug-modules-coreUpgrade kernel-debuginfo-common-s390xUpgrade kernel-zfcpdump-coreUpgrade rvUpgrade kernel-debug-modules-extraUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-modules | Jun 29, 2026 | Jun 27, 2026 |
| Ubuntu | — | Upgrade linux-image-generic-6.17Upgrade linux-image-oracle-6.17Upgrade linux-image-virtualUpgrade linux-image-awsUpgrade linux-image-6.17.0-1021-azureUpgrade linux-image-6.17.0-1028-oemUpgrade linux-image-oem-6.17Upgrade linux-image-oracle-64k-6.17Upgrade linux-image-oracleUpgrade linux-image-6.17.0-1020-gcp-64kUpgrade linux-image-gcp-64k-6.17Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-realtimeUpgrade linux-image-6.17.0-1020-gcpUpgrade linux-image-oem-24.04bUpgrade linux-image-aws-64kUpgrade linux-image-6.17.0-1017-realtimeUpgrade linux-image-6.17.0-1019-awsUpgrade linux-image-6.17.0-40-generic-64kUpgrade linux-image-6.17.0-1018-azure-fdeUpgrade linux-image-gcp-6.17Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-azure-fde-6.17Upgrade linux-image-6.17.0-1019-aws-64kUpgrade linux-image-6.17.0-1026-nvidia-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.17.0-1018-oracleUpgrade linux-image-oem-24.04dUpgrade linux-image-6.17.0-1021-raspiUpgrade linux-image-nvidia-64k-6.17Upgrade linux-image-nvidia-6.17Upgrade linux-image-realtime-6.17Upgrade linux-image-6.17.0-40-genericUpgrade linux-image-oem-24.04Upgrade linux-image-6.17.0-1018-oracle-64kUpgrade linux-image-6.17.0-1026-nvidiaUpgrade linux-image-oracle-64kUpgrade linux-image-nvidia-64k-hwe-24.04Upgrade linux-image-generic-64k-6.17Upgrade linux-image-generic-64kUpgrade linux-image-azureUpgrade linux-image-aws-6.17Upgrade linux-image-nvidia-hwe-24.04Upgrade linux-image-raspi-6.17Upgrade linux-image-gcp-64kUpgrade linux-image-oem-24.04cUpgrade linux-image-oem-24.04aUpgrade linux-image-raspiUpgrade linux-image-virtual-6.17Upgrade linux-image-gcpUpgrade linux-image-azure-fdeUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-azure-6.17Upgrade linux-image-aws-64k-6.17Upgrade linux-image-generic | Jul 1, 2026 | May 27, 2026 |
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