In the Linux kernel, the following vulnerability has been resolved:
locking/ww_mutex/test: Fix potential workqueue corruption
In some cases running with the test-ww_mutex code, I was seeing odd behavior where sometimes it seemed flush_workqueue was returning before all the work threads were finished.
Often this would cause strange crashes as the mutexes would be freed while they were being used.
Looking at the code, there is a lifetime problem as the controlling thread that spawns the work allocates the "struct stress" structures that are passed to the workqueue threads. Then when the workqueue threads are finished, they free the stress struct that was passed to them.
Unfortunately the workqueue work_struct node is in the stress struct. Which means the work_struct is freed before the work thread returns and while flush_workqueue is waiting.
It seems like a better idea to have the controlling thread both allocate and free the stress structures, so that we can be sure we don't corrupt the workqueue by freeing the structure prematurely.
So this patch reworks the test to do so, and with this change I no longer see the early flush_workqueue returns.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 30, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-tools-libsUpgrade kernel-toolsUpgrade bpftoolUpgrade kernelUpgrade python3-perfUpgrade kernel-abi-stablelists | Oct 9, 2024 | May 21, 2024 |
| Suse | — | Upgrade dtb-armUpgrade kernel-debug-vdsoUpgrade dlm-kmp-rtUpgrade kernel-source-vanillaUpgrade kernel-default-baseUpgrade dtb-renesasUpgrade dtb-rockchipUpgrade dtb-xilinxUpgrade kernel-64kb-extraUpgrade kselftests-kmp-azureUpgrade kernel-rt_debugUpgrade cluster-md-kmp-rtUpgrade kselftests-kmp-defaultUpgrade reiserfs-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade kernel-default-livepatch-develUpgrade dtb-caviumUpgrade kernel-develUpgrade dtb-allwinnerUpgrade kernel-kvmsmall-vdsoUpgrade kernel-azureUpgrade kernel-rt-vdsoUpgrade kernel-rt-optionalUpgrade kernel-default-optionalUpgrade dlm-kmp-defaultUpgrade reiserfs-kmp-rtUpgrade kernel-defaultUpgrade kernel-rt_debug-livepatch-develUpgrade ocfs2-kmp-azureUpgrade dtb-nvidiaUpgrade kernel-rt_debug-develUpgrade dtb-amdUpgrade reiserfs-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade ocfs2-kmp-defaultUpgrade kernel-source-rtUpgrade kernel-debug-develUpgrade kernel-docsUpgrade dtb-sprdUpgrade gfs2-kmp-defaultUpgrade kernel-obs-buildUpgrade dtb-socionextUpgrade kselftests-kmp-rtUpgrade kernel-rt-extraUpgrade reiserfs-kmp-defaultUpgrade dlm-kmp-azureUpgrade gfs2-kmp-azureUpgrade kernel-64kb-livepatch-develUpgrade kernel-syms-rtUpgrade dtb-exynosUpgrade kernel-kvmsmall-develUpgrade dtb-marvellUpgrade dtb-apmUpgrade dlm-kmp-64kbUpgrade kernel-syms-azureUpgrade kernel-azure-livepatch-develUpgrade kernel-default-develUpgrade dtb-appleUpgrade dtb-broadcomUpgrade kernel-default-vdsoUpgrade ocfs2-kmp-rtUpgrade kernel-sourceUpgrade kernel-azure-vdsoUpgrade kernel-azure-optionalUpgrade cluster-md-kmp-defaultUpgrade dtb-mediatekUpgrade dtb-qcomUpgrade kernel-default-livepatchUpgrade kernel-rt-develUpgrade kselftests-kmp-64kbUpgrade kernel-docs-htmlUpgrade kernel-zfcpdumpUpgrade kernel-64kbUpgrade kernel-source-azureUpgrade kernel-rtUpgrade kernel-devel-rtUpgrade kernel-debugUpgrade kernel-64kb-develUpgrade gfs2-kmp-64kbUpgrade dtb-amlogicUpgrade ocfs2-kmp-64kbUpgrade kernel-debug-livepatch-develUpgrade dtb-hisiliconUpgrade kernel-rt-livepatch-develUpgrade kernel-symsUpgrade dtb-freescaleUpgrade kernel-rt_debug-vdsoUpgrade kernel-kvmsmallUpgrade kernel-azure-extraUpgrade kernel-obs-qaUpgrade kernel-macrosUpgrade kernel-devel-azureUpgrade cluster-md-kmp-azureUpgrade kernel-default-extraUpgrade gfs2-kmp-rtUpgrade kernel-azure-develUpgrade dtb-lgUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-64kb-optionalUpgrade dtb-alteraUpgrade dtb-amazon | Aug 9, 2024 | May 21, 2024 |
| Ubuntu | — | Upgrade linux-azure-5.4Upgrade linuxUpgrade linux-gkeop-5.15Upgrade linux-azure-fipsUpgrade linux-awsUpgrade linux-iotUpgrade linux-realtimeUpgrade linux-raspiUpgrade linux-aws-5.4Upgrade linux-lowlatency-hwe-5.15Upgrade linux-gcp-5.15Upgrade linux-nvidia-6.5Upgrade linux-intel-iotg-5.15Upgrade linux-kvmUpgrade linux-azure-5.15Upgrade linux-azure-fdeUpgrade linux-hwe-5.15Upgrade linux-azure-fde-5.15Upgrade linux-ibmUpgrade linux-azureUpgrade linux-aws-5.15Upgrade linux-oracle-5.15Upgrade linux-gkeopUpgrade linux-lowlatencyUpgrade linux-gcpUpgrade linux-xilinx-zynqmpUpgrade linux-nvidiaUpgrade linux-aws-fipsUpgrade linux-gcp-5.4Upgrade linux-oracleUpgrade linux-gcp-fipsUpgrade linux-oracle-5.4Upgrade linux-ibm-5.15Upgrade linux-ibm-5.4Upgrade linux-fipsUpgrade linux-bluefieldUpgrade linux-nvidia-tegra-igxUpgrade linux-intel-iot-realtimeUpgrade linux-hwe-5.4Upgrade linux-riscv-5.15Upgrade linux-nvidia-tegraUpgrade linux-gkeUpgrade linux-nvidia-tegra-5.15Upgrade linux-raspi-5.4Upgrade linux-intel-iotg | Nov 19, 2024 | May 21, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | May 21, 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