In the Linux kernel, the following vulnerability has been resolved:
spi: fix null pointer dereference within spi_sync
If spi_sync() is called with the non-empty queue and the same spi_message is then reused, the complete callback for the message remains set while the context is cleared, leading to a null pointer dereference when the callback is invoked from spi_finalize_current_message().
With function inlining disabled, the call stack might look like this:
_raw_spin_lock_irqsave from complete_with_flags+0x18/0x58 complete_with_flags from spi_complete+0x8/0xc spi_complete from spi_finalize_current_message+0xec/0x184 spi_finalize_current_message from spi_transfer_one_message+0x2a8/0x474 spi_transfer_one_message from __spi_pump_transfer_message+0x104/0x230 __spi_pump_transfer_message from __spi_transfer_message_noqueue+0x30/0xc4 __spi_transfer_message_noqueue from __spi_sync+0x204/0x248 __spi_sync from spi_sync+0x24/0x3c spi_sync from mcp251xfd_regmap_crc_read+0x124/0x28c [mcp251xfd] mcp251xfd_regmap_crc_read [mcp251xfd] from _regmap_raw_read+0xf8/0x154 _regmap_raw_read from _regmap_bus_read+0x44/0x70 _regmap_bus_read from _regmap_read+0x60/0xd8 _regmap_read from regmap_read+0x3c/0x5c regmap_read from mcp251xfd_alloc_can_err_skb+0x1c/0x54 [mcp251xfd] mcp251xfd_alloc_can_err_skb [mcp251xfd] from mcp251xfd_irq+0x194/0xe70 [mcp251xfd] mcp251xfd_irq [mcp251xfd] from irq_thread_fn+0x1c/0x78 irq_thread_fn from irq_thread+0x118/0x1f4 irq_thread from kthread+0xd8/0xf4 kthread from ret_from_fork+0x14/0x28
Fix this by also setting message->complete to NULL when the transfer is complete.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 30, 2024 | May 30, 2024 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Dec 5, 2024 | May 30, 2024 |
| Suse | — | Upgrade kernel-default-base-rebuildUpgrade kselftests-kmp-64kbUpgrade kernel-default-optionalUpgrade kernel-develUpgrade kernel-devel-azureUpgrade gfs2-kmp-azureUpgrade kernel-rt-develUpgrade cluster-md-kmp-azureUpgrade reiserfs-kmp-azureUpgrade kernel-obs-buildUpgrade kernel-source-vanillaUpgrade dtb-qcomUpgrade gfs2-kmp-rtUpgrade kernel-default-livepatchUpgrade kernel-kvmsmall-develUpgrade kernel-devel-rtUpgrade kernel-rt-optionalUpgrade gfs2-kmp-64kbUpgrade ocfs2-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade kernel-64kb-livepatch-develUpgrade kernel-64kb-develUpgrade kernel-default-vdsoUpgrade kernel-64kbUpgrade cluster-md-kmp-rtUpgrade kernel-sourceUpgrade kernel-source-azureUpgrade kernel-debug-vdsoUpgrade dtb-exynosUpgrade dtb-lgUpgrade ocfs2-kmp-64kbUpgrade dtb-amazonUpgrade kernel-kvmsmallUpgrade dtb-xilinxUpgrade kernel-azure-develUpgrade kernel-source-rtUpgrade kselftests-kmp-azureUpgrade kernel-rtUpgrade kernel-azure-livepatch-develUpgrade kernel-syms-azureUpgrade kernel-kvmsmall-livepatch-develUpgrade reiserfs-kmp-64kbUpgrade dtb-caviumUpgrade dlm-kmp-64kbUpgrade kernel-rt_debug-develUpgrade kernel-zfcpdumpUpgrade dtb-freescaleUpgrade dtb-mediatekUpgrade dtb-alteraUpgrade gfs2-kmp-defaultUpgrade dtb-allwinnerUpgrade dtb-broadcomUpgrade kernel-azureUpgrade kernel-default-develUpgrade kernel-azure-optionalUpgrade kernel-debugUpgrade dlm-kmp-defaultUpgrade kernel-symsUpgrade kernel-syms-rtUpgrade kernel-rt-vdsoUpgrade dtb-sprdUpgrade dtb-rockchipUpgrade kernel-rt-livepatch-develUpgrade kernel-docsUpgrade kernel-azure-vdsoUpgrade kernel-default-livepatch-develUpgrade kernel-64kb-extraUpgrade kernel-default-extraUpgrade dlm-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-docs-htmlUpgrade dtb-marvellUpgrade kernel-defaultUpgrade dtb-amdUpgrade reiserfs-kmp-rtUpgrade kselftests-kmp-defaultUpgrade kernel-rt-extraUpgrade kernel-debug-livepatch-develUpgrade kselftests-kmp-rtUpgrade kernel-debug-develUpgrade dtb-apmUpgrade kernel-64kb-optionalUpgrade dtb-nvidiaUpgrade dtb-armUpgrade reiserfs-kmp-defaultUpgrade dlm-kmp-azureUpgrade dtb-renesasUpgrade cluster-md-kmp-64kbUpgrade kernel-rt_debug-vdsoUpgrade kernel-obs-qaUpgrade kernel-azure-extraUpgrade kernel-default-baseUpgrade kernel-macrosUpgrade dtb-socionextUpgrade dtb-appleUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-rt_debugUpgrade kernel-kvmsmall-vdsoUpgrade dtb-hisiliconUpgrade dtb-amlogicUpgrade ocfs2-kmp-rt | Jun 24, 2024 | May 30, 2024 |
| Ubuntu | — | Upgrade linux-image-generic-lpaeUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1011-nvidiaUpgrade linux-image-6.8.0-1008-gkeUpgrade linux-image-6.8.0-1011-nvidia-lowlatencyUpgrade linux-image-virtualUpgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-40-lowlatency-64kUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1011-nvidia-lowlatency-64kUpgrade linux-image-genericUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-gcpUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-oem-24.04aUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1010-oemUpgrade linux-image-ibmUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-24.04Upgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1010-oracleUpgrade linux-image-gkeUpgrade linux-image-lowlatencyUpgrade linux-image-raspiUpgrade linux-image-6.8.0-40-generic-64kUpgrade linux-image-6.8.0-1010-ibmUpgrade linux-image-6.8.0-1012-azureUpgrade linux-image-6.8.0-40-genericUpgrade linux-image-nvidia-6.8Upgrade linux-image-generic-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1013-awsUpgrade linux-image-6.8.0-1009-raspiUpgrade linux-image-awsUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1011-nvidia-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-40-lowlatencyUpgrade linux-image-6.8.0-1012-gcpUpgrade linux-image-6.8.0-1012-azure-fdeUpgrade linux-image-6.8.0-1010-oracle-64kUpgrade linux-image-azure | Aug 9, 2024 | May 30, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | May 30, 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