CVE-2024-36004

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
20/05/2024
Last modified:
17/12/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> i40e: Do not use WQ_MEM_RECLAIM flag for workqueue<br /> <br /> Issue reported by customer during SRIOV testing, call trace:<br /> When both i40e and the i40iw driver are loaded, a warning<br /> in check_flush_dependency is being triggered. This seems<br /> to be because of the i40e driver workqueue is allocated with<br /> the WQ_MEM_RECLAIM flag, and the i40iw one is not.<br /> <br /> Similar error was encountered on ice too and it was fixed by<br /> removing the flag. Do the same for i40e too.<br /> <br /> [Feb 9 09:08] ------------[ cut here ]------------<br /> [ +0.000004] workqueue: WQ_MEM_RECLAIM i40e:i40e_service_task [i40e] is<br /> flushing !WQ_MEM_RECLAIM infiniband:0x0<br /> [ +0.000060] WARNING: CPU: 0 PID: 937 at kernel/workqueue.c:2966<br /> check_flush_dependency+0x10b/0x120<br /> [ +0.000007] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq<br /> snd_timer snd_seq_device snd soundcore nls_utf8 cifs cifs_arc4<br /> nls_ucs2_utils rdma_cm iw_cm ib_cm cifs_md4 dns_resolver netfs qrtr<br /> rfkill sunrpc vfat fat intel_rapl_msr intel_rapl_common irdma<br /> intel_uncore_frequency intel_uncore_frequency_common ice ipmi_ssif<br /> isst_if_common skx_edac nfit libnvdimm x86_pkg_temp_thermal<br /> intel_powerclamp gnss coretemp ib_uverbs rapl intel_cstate ib_core<br /> iTCO_wdt iTCO_vendor_support acpi_ipmi mei_me ipmi_si intel_uncore<br /> ioatdma i2c_i801 joydev pcspkr mei ipmi_devintf lpc_ich<br /> intel_pch_thermal i2c_smbus ipmi_msghandler acpi_power_meter acpi_pad<br /> xfs libcrc32c ast sd_mod drm_shmem_helper t10_pi drm_kms_helper sg ixgbe<br /> drm i40e ahci crct10dif_pclmul libahci crc32_pclmul igb crc32c_intel<br /> libata ghash_clmulni_intel i2c_algo_bit mdio dca wmi dm_mirror<br /> dm_region_hash dm_log dm_mod fuse<br /> [ +0.000050] CPU: 0 PID: 937 Comm: kworker/0:3 Kdump: loaded Not<br /> tainted 6.8.0-rc2-Feb-net_dev-Qiueue-00279-gbd43c5687e05 #1<br /> [ +0.000003] Hardware name: Intel Corporation S2600BPB/S2600BPB, BIOS<br /> SE5C620.86B.02.01.0013.121520200651 12/15/2020<br /> [ +0.000001] Workqueue: i40e i40e_service_task [i40e]<br /> [ +0.000024] RIP: 0010:check_flush_dependency+0x10b/0x120<br /> [ +0.000003] Code: ff 49 8b 54 24 18 48 8d 8b b0 00 00 00 49 89 e8 48<br /> 81 c6 b0 00 00 00 48 c7 c7 b0 97 fa 9f c6 05 8a cc 1f 02 01 e8 35 b3 fd<br /> ff 0b e9 10 ff ff ff 80 3d 78 cc 1f 02 00 75 94 e9 46 ff ff ff 90<br /> [ +0.000002] RSP: 0018:ffffbd294976bcf8 EFLAGS: 00010282<br /> [ +0.000002] RAX: 0000000000000000 RBX: ffff94d4c483c000 RCX:<br /> 0000000000000027<br /> [ +0.000001] RDX: ffff94d47f620bc8 RSI: 0000000000000001 RDI:<br /> ffff94d47f620bc0<br /> [ +0.000001] RBP: 0000000000000000 R08: 0000000000000000 R09:<br /> 00000000ffff7fff<br /> [ +0.000001] R10: ffffbd294976bb98 R11: ffffffffa0be65e8 R12:<br /> ffff94c5451ea180<br /> [ +0.000001] R13: ffff94c5ab5e8000 R14: ffff94c5c20b6e05 R15:<br /> ffff94c5f1330ab0<br /> [ +0.000001] FS: 0000000000000000(0000) GS:ffff94d47f600000(0000)<br /> knlGS:0000000000000000<br /> [ +0.000002] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033<br /> [ +0.000001] CR2: 00007f9e6f1fca70 CR3: 0000000038e20004 CR4:<br /> 00000000007706f0<br /> [ +0.000000] DR0: 0000000000000000 DR1: 0000000000000000 DR2:<br /> 0000000000000000<br /> [ +0.000001] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:<br /> 0000000000000400<br /> [ +0.000001] PKRU: 55555554<br /> [ +0.000001] Call Trace:<br /> [ +0.000001] <br /> [ +0.000002] ? __warn+0x80/0x130<br /> [ +0.000003] ? check_flush_dependency+0x10b/0x120<br /> [ +0.000002] ? report_bug+0x195/0x1a0<br /> [ +0.000005] ? handle_bug+0x3c/0x70<br /> [ +0.000003] ? exc_invalid_op+0x14/0x70<br /> [ +0.000002] ? asm_exc_invalid_op+0x16/0x20<br /> [ +0.000006] ? check_flush_dependency+0x10b/0x120<br /> [ +0.000002] ? check_flush_dependency+0x10b/0x120<br /> [ +0.000002] __flush_workqueue+0x126/0x3f0<br /> [ +0.000015] ib_cache_cleanup_one+0x1c/0xe0 [ib_core]<br /> [ +0.000056] __ib_unregister_device+0x6a/0xb0 [ib_core]<br /> [ +0.000023] ib_unregister_device_and_put+0x34/0x50 [ib_core]<br /> [ +0.000020] i40iw_close+0x4b/0x90 [irdma]<br /> [ +0.000022] i40e_notify_client_of_netdev_close+0x54/0xc0 [i40e]<br /> [ +0.000035] i40e_service_task+0x126/0x190 [i40e]<br /> [ +0.000024] process_one_work+0x174/0x340<br /> [ +0.000003] worker_th<br /> ---truncated---

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.14 (including) 4.19.313 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (including) 5.4.275 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.216 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.158 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.90 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.30 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.8.9 (excluding)
cpe:2.3:o:linux:linux_kernel:6.9:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.9:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.9:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.9:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.9:rc5:*:*:*:*:*:*
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*