In the Linux kernel, the following vulnerability has been resolved:
block: fix request.queuelist usage in flush
Friedrich Weber reported a kernel crash problem and bisected to commit 81ada09cc25e ("blk-flush: reuse rq queuelist in flush state machine").
The root cause is that we use "list_move_tail(&rq->queuelist, pending)" in the PREFLUSH/POSTFLUSH sequences. But rq->queuelist.next == xxx since it's popped out from plug->cached_rq in __blk_mq_alloc_requests_batch(). We don't initialize its queuelist just for this first request, although the queuelist of all later popped requests will be initialized.
Fix it by changing to use "list_add_tail(&rq->queuelist, pending)" so rq->queuelist doesn't need to be initialized. It should be ok since rq can't be on any list when PREFLUSH or POSTFLUSH, has no move actually.
Please note the commit 81ada09cc25e ("blk-flush: reuse rq queuelist in flush state machine") also has another requirement that no drivers would touch rq->queuelist after blk_mq_end_request() since we will reuse it to add rq to the post-flush pending list in POSTFLUSH. If this is not true, we will have to revert that commit IMHO.
This updated version adds "list_del_init(&rq->queuelist)" in flush rq callback since the dm layer may submit request of a weird invalid format (REQ_FSEQ_PREFLUSH | REQ_FSEQ_POSTFLUSH), which causes double list_add if without this "list_del_init(&rq->queuelist)". The weird invalid format problem should be fixed in dm layer.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Redhat_linux | — | No solution existsUpgrade kernelUpgrade kernel-rt | Dec 5, 2024 | Jul 12, 2024 |
| Suse | — | Upgrade kernel-syms-rtUpgrade gfs2-kmp-defaultUpgrade kernel-azure-vdsoUpgrade kernel-debug-livepatch-develUpgrade kernel-default-baseUpgrade kernel-docsUpgrade dlm-kmp-azureUpgrade dtb-renesasUpgrade kernel-defaultUpgrade reiserfs-kmp-defaultUpgrade dtb-rockchipUpgrade dtb-mediatekUpgrade kselftests-kmp-rtUpgrade kernel-default-livepatch-develUpgrade dtb-xilinxUpgrade kernel-rt-vdsoUpgrade cluster-md-kmp-64kbUpgrade kernel-source-vanillaUpgrade dlm-kmp-rtUpgrade kernel-64kb-extraUpgrade kernel-rt-extraUpgrade kernel-devel-rtUpgrade kselftests-kmp-defaultUpgrade dtb-socionextUpgrade dtb-sprdUpgrade dtb-armUpgrade kernel-azureUpgrade dtb-nvidiaUpgrade ocfs2-kmp-azureUpgrade cluster-md-kmp-defaultUpgrade kernel-rt-livepatch-develUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-allwinnerUpgrade kernel-rt-develUpgrade reiserfs-kmp-azureUpgrade kernel-default-base-rebuildUpgrade reiserfs-kmp-rtUpgrade dlm-kmp-defaultUpgrade kernel-rt_debug-vdsoUpgrade kernel-debug-vdsoUpgrade kernel-obs-buildUpgrade kernel-default-vdsoUpgrade kernel-debugUpgrade dtb-amazonUpgrade dtb-alteraUpgrade ocfs2-kmp-defaultUpgrade kernel-azure-livepatch-develUpgrade dlm-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade kernel-default-optionalUpgrade kernel-64kbUpgrade gfs2-kmp-azureUpgrade kernel-64kb-livepatch-develUpgrade kernel-syms-azureUpgrade cluster-md-kmp-rtUpgrade kernel-rtUpgrade dtb-hisiliconUpgrade dtb-qcomUpgrade kernel-docs-htmlUpgrade kernel-obs-qaUpgrade kernel-64kb-optionalUpgrade dtb-freescaleUpgrade dtb-amlogicUpgrade kernel-zfcpdumpUpgrade kernel-azure-optionalUpgrade kernel-rt_debugUpgrade kernel-develUpgrade kernel-debug-develUpgrade gfs2-kmp-64kbUpgrade dtb-exynosUpgrade kernel-source-azureUpgrade dtb-broadcomUpgrade dtb-apmUpgrade kernel-source-rtUpgrade kernel-devel-azureUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-rt_debug-develUpgrade kernel-macrosUpgrade dtb-caviumUpgrade kernel-kvmsmallUpgrade kernel-64kb-develUpgrade kernel-kvmsmall-develUpgrade kernel-default-livepatchUpgrade kernel-default-extraUpgrade kernel-sourceUpgrade kernel-kvmsmall-vdsoUpgrade kernel-default-develUpgrade kselftests-kmp-64kbUpgrade dtb-amdUpgrade kselftests-kmp-azureUpgrade gfs2-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade ocfs2-kmp-64kbUpgrade kernel-rt-optionalUpgrade kernel-azure-develUpgrade dtb-appleUpgrade cluster-md-kmp-azureUpgrade kernel-azure-extraUpgrade kernel-symsUpgrade dtb-lgUpgrade dtb-marvell | Aug 8, 2024 | Jul 12, 2024 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1013-nvidia-64kUpgrade linux-image-azureUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-44-generic-64kUpgrade linux-image-oracle-64kUpgrade linux-image-kvmUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-44-genericUpgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-1012-oemUpgrade linux-image-6.8.0-1012-oracle-64kUpgrade linux-image-6.8.0-1014-azureUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-nvidiaUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-1014-gcpUpgrade linux-image-azure-fdeUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-nvidia-64kUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-45-generic-64kUpgrade linux-image-gcpUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-44-lowlatencyUpgrade linux-image-genericUpgrade linux-image-6.8.0-45-genericUpgrade linux-image-lowlatency-64kUpgrade linux-image-ibmUpgrade linux-image-oem-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-oem-22.04aUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-raspiUpgrade linux-image-ibm-classicUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1013-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1012-oracleUpgrade linux-image-awsUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-1011-raspiUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1010-gkeUpgrade linux-image-6.8.0-44-lowlatency-64kUpgrade linux-image-oracleUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1013-nvidiaUpgrade linux-image-oem-22.04dUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1012-ibmUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1015-awsUpgrade linux-image-6.8.0-1014-azure-fdeUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1013-nvidia-lowlatencyUpgrade linux-image-nvidia-6.8 | Sep 12, 2024 | Jul 12, 2024 |
Prioritise with Active Threat Intelligence
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