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 python3-perfUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernelUpgrade kernel-tools-libsUpgrade kernel-tools | Oct 9, 2024 | May 21, 2024 |
| Suse | — | Upgrade kernel-devel-rtUpgrade kernel-debugUpgrade gfs2-kmp-64kbUpgrade dtb-freescaleUpgrade kernel-rt-livepatch-develUpgrade dtb-mediatekUpgrade kernel-64kb-develUpgrade kernel-rtUpgrade kernel-sourceUpgrade kernel-rt_debug-vdsoUpgrade kernel-azure-optionalUpgrade kernel-azure-vdsoUpgrade dtb-amazonUpgrade kernel-debug-livepatch-develUpgrade dtb-hisiliconUpgrade kernel-kvmsmallUpgrade kernel-64kb-livepatch-develUpgrade kernel-64kb-optionalUpgrade dtb-marvellUpgrade dlm-kmp-64kbUpgrade dtb-alteraUpgrade cluster-md-kmp-defaultUpgrade kernel-source-azureUpgrade kernel-kvmsmall-develUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-default-develUpgrade kernel-syms-azureUpgrade kernel-syms-rtUpgrade kernel-azure-develUpgrade ocfs2-kmp-64kbUpgrade dtb-apmUpgrade dtb-appleUpgrade kernel-azure-livepatch-develUpgrade dtb-exynosUpgrade kselftests-kmp-64kbUpgrade kernel-zfcpdumpUpgrade kernel-64kbUpgrade kernel-devel-azureUpgrade kernel-macrosUpgrade kernel-docs-htmlUpgrade dtb-qcomUpgrade kernel-rt-develUpgrade dtb-lgUpgrade cluster-md-kmp-azureUpgrade dtb-broadcomUpgrade kernel-symsUpgrade ocfs2-kmp-rtUpgrade kernel-default-vdsoUpgrade gfs2-kmp-rtUpgrade kernel-default-extraUpgrade kernel-default-livepatchUpgrade kernel-obs-qaUpgrade kernel-azure-extraUpgrade dtb-amlogicUpgrade dtb-caviumUpgrade dlm-kmp-defaultUpgrade kernel-develUpgrade kernel-source-rtUpgrade kernel-rt_debug-develUpgrade kernel-64kb-extraUpgrade kernel-debug-develUpgrade kselftests-kmp-azureUpgrade kernel-rt-vdsoUpgrade kernel-rt-optionalUpgrade kernel-default-base-rebuildUpgrade kernel-default-livepatch-develUpgrade ocfs2-kmp-azureUpgrade dtb-rockchipUpgrade dtb-renesasUpgrade kernel-debug-vdsoUpgrade dtb-armUpgrade kernel-rt_debugUpgrade kernel-azureUpgrade dtb-amdUpgrade reiserfs-kmp-azureUpgrade kselftests-kmp-defaultUpgrade kernel-obs-buildUpgrade kernel-defaultUpgrade ocfs2-kmp-defaultUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-default-optionalUpgrade reiserfs-kmp-rtUpgrade gfs2-kmp-azureUpgrade dlm-kmp-rtUpgrade dtb-socionextUpgrade dlm-kmp-azureUpgrade kernel-source-vanillaUpgrade kernel-default-baseUpgrade kernel-rt-extraUpgrade kernel-kvmsmall-vdsoUpgrade dtb-xilinxUpgrade cluster-md-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade dtb-allwinnerUpgrade gfs2-kmp-defaultUpgrade reiserfs-kmp-64kbUpgrade kernel-docsUpgrade cluster-md-kmp-64kbUpgrade dtb-sprdUpgrade dtb-nvidiaUpgrade kselftests-kmp-rt | Aug 9, 2024 | May 21, 2024 |
| Ubuntu | — | Upgrade linux-nvidia-tegraUpgrade linux-hwe-5.4Upgrade linux-gcpUpgrade linux-gkeUpgrade linux-gcp-fipsUpgrade linux-riscv-5.15Upgrade linux-oracle-5.4Upgrade linux-nvidia-tegra-5.15Upgrade linux-raspi-5.4Upgrade linux-oracleUpgrade linux-gcp-5.4Upgrade linux-ibm-5.4Upgrade linux-intel-iot-realtimeUpgrade linux-intel-iotgUpgrade linux-nvidiaUpgrade linux-ibm-5.15Upgrade linux-bluefieldUpgrade linux-fipsUpgrade linux-xilinx-zynqmpUpgrade linux-nvidia-tegra-igxUpgrade linux-aws-fipsUpgrade linux-lowlatencyUpgrade linux-hwe-5.15Upgrade linux-ibmUpgrade linux-realtimeUpgrade linux-awsUpgrade linux-iotUpgrade linux-aws-5.4Upgrade linux-azure-5.4Upgrade linux-azure-fipsUpgrade linux-aws-5.15Upgrade linux-lowlatency-hwe-5.15Upgrade linux-raspiUpgrade linux-azure-fdeUpgrade linux-gkeopUpgrade linux-gkeop-5.15Upgrade linux-oracle-5.15Upgrade linux-intel-iotg-5.15Upgrade linux-kvmUpgrade linux-nvidia-6.5Upgrade linuxUpgrade linux-azure-5.15Upgrade linux-gcp-5.15Upgrade linux-azure | 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