In the Linux kernel, the following vulnerability has been resolved:
io_uring/io-wq: Use set_bit() and test_bit() at worker->flags
Utilize set_bit() and test_bit() on worker->flags within io_uring/io-wq to address potential data races.
The structure io_worker->flags may be accessed through various data paths, leading to concurrency issues. When KCSAN is enabled, it reveals data races occurring in io_worker_handle_work and io_wq_activate_free_worker functions.
BUG: KCSAN: data-race in io_worker_handle_work / io_wq_activate_free_worker write to 0xffff8885c4246404 of 4 bytes by task 49071 on cpu 28: io_worker_handle_work (io_uring/io-wq.c:434 io_uring/io-wq.c:569) io_wq_worker (io_uring/io-wq.c:?) <snip>
read to 0xffff8885c4246404 of 4 bytes by task 49024 on cpu 5: io_wq_activate_free_worker (io_uring/io-wq.c:? io_uring/io-wq.c:285) io_wq_enqueue (io_uring/io-wq.c:947) io_queue_iowq (io_uring/io_uring.c:524) io_req_task_submit (io_uring/io_uring.c:1511) io_handle_tw_list (io_uring/io_uring.c:1198) <snip>
Line numbers against commit 18daea77cca6 ("Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm").
These races involve writes and reads to the same memory location by different tasks running on different CPUs. To mitigate this, refactor the code to use atomic operations such as set_bit(), test_bit(), and clear_bit() instead of basic "and" and "or" operations. This ensures thread-safe manipulation of worker flags.
Also, move `create_index` to avoid holes in the structure.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | May 15, 2025 | Jul 12, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-tools-libsUpgrade python3-perf | Mar 18, 2025 | Jul 12, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernelUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade bpftoolUpgrade kernel-tools | Oct 9, 2024 | Jul 12, 2024 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Dec 5, 2024 | Jul 12, 2024 |
| Suse | — | Upgrade kernel-64kb-develUpgrade dtb-appleUpgrade kernel-macrosUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-debugUpgrade kernel-default-vdsoUpgrade kernel-azure-extraUpgrade kernel-debug-develUpgrade dtb-amazonUpgrade kselftests-kmp-64kbUpgrade ocfs2-kmp-64kbUpgrade dtb-freescaleUpgrade cluster-md-kmp-rtUpgrade kernel-syms-rtUpgrade kernel-kvmsmall-develUpgrade kernel-rt-livepatchUpgrade dtb-qcomUpgrade kernel-rt-livepatch-develUpgrade kernel-rt_debug-develUpgrade dtb-apmUpgrade kernel-symsUpgrade dtb-exynosUpgrade gfs2-kmp-rtUpgrade kernel-zfcpdumpUpgrade kernel-64kb-optionalUpgrade kernel-source-azureUpgrade dlm-kmp-64kbUpgrade dtb-xilinxUpgrade kernel-obs-qaUpgrade kernel-rt_debug-vdsoUpgrade dtb-alteraUpgrade kernel-azure-livepatch-develUpgrade kernel-64kbUpgrade kernel-default-extraUpgrade kernel-kvmsmallUpgrade kernel-azure-optionalUpgrade kernel-devel-azureUpgrade kernel-syms-azureUpgrade dtb-marvellUpgrade reiserfs-kmp-64kbUpgrade kernel-azure-develUpgrade cluster-md-kmp-defaultUpgrade kernel-rtUpgrade dtb-lgUpgrade kernel-64kb-livepatch-develUpgrade cluster-md-kmp-azureUpgrade kernel-devel-rtUpgrade kernel-docs-htmlUpgrade kernel-debug-livepatch-develUpgrade ocfs2-kmp-rtUpgrade dtb-broadcomUpgrade gfs2-kmp-64kbUpgrade kernel-azure-vdsoUpgrade dtb-hisiliconUpgrade kernel-sourceUpgrade kernel-default-livepatchUpgrade dtb-amlogicUpgrade kernel-default-develUpgrade cluster-md-kmp-64kbUpgrade dlm-kmp-azureUpgrade kernel-default-base-rebuildUpgrade dtb-mediatekUpgrade kernel-rt-develUpgrade dtb-socionextUpgrade dtb-rockchipUpgrade kselftests-kmp-rtUpgrade dtb-allwinnerUpgrade reiserfs-kmp-rtUpgrade kernel-default-optionalUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-docsUpgrade kernel-debug-vdsoUpgrade kernel-defaultUpgrade kernel-default-livepatch-develUpgrade kernel-default-baseUpgrade gfs2-kmp-azureUpgrade dlm-kmp-rtUpgrade reiserfs-kmp-azureUpgrade reiserfs-kmp-defaultUpgrade kselftests-kmp-defaultUpgrade gfs2-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade kernel-rt-vdsoUpgrade kernel-azureUpgrade kernel-kvmsmall-vdsoUpgrade dtb-amdUpgrade dlm-kmp-defaultUpgrade kernel-source-rtUpgrade kernel-rt-optionalUpgrade kernel-obs-buildUpgrade dtb-renesasUpgrade kernel-develUpgrade dtb-caviumUpgrade kernel-64kb-extraUpgrade kselftests-kmp-azureUpgrade dtb-sprdUpgrade dtb-nvidiaUpgrade kernel-rt_debugUpgrade dtb-armUpgrade ocfs2-kmp-defaultUpgrade kernel-source-vanillaUpgrade kernel-rt-extra | Aug 14, 2024 | Jul 12, 2024 |
| Ubuntu | — | Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-raspiUpgrade linux-image-6.8.0-44-lowlatencyUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1013-nvidia-lowlatencyUpgrade linux-image-awsUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1010-gkeUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1015-awsUpgrade linux-image-6.8.0-1012-oracle-64kUpgrade linux-image-kvmUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-44-generic-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1012-oracleUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-45-genericUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1012-ibmUpgrade linux-image-6.8.0-1014-gcpUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1014-azureUpgrade linux-image-ibmUpgrade linux-image-oem-22.04cUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-azureUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1013-nvidia-64kUpgrade linux-image-6.8.0-1012-oemUpgrade linux-image-6.8.0-1011-raspiUpgrade linux-image-6.8.0-44-genericUpgrade linux-image-genericUpgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-1013-nvidiaUpgrade linux-image-oem-22.04aUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-45-generic-64kUpgrade linux-image-lowlatencyUpgrade linux-image-generic-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1014-azure-fdeUpgrade linux-image-gkeUpgrade linux-image-oem-22.04bUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1013-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-44-lowlatency-64kUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-oracle-64kUpgrade linux-image-nvidiaUpgrade linux-image-lowlatency-64k | Sep 12, 2024 | Jul 12, 2024 |
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