In the Linux kernel, the following vulnerability has been resolved:
mmc: sdio: fix possible resource leaks in some error paths
If sdio_add_func() or sdio_init_func() fails, sdio_remove_func() can not release the resources, because the sdio function is not presented in these two cases, it won't call of_node_put() or put_device().
To fix these leaks, make sdio_func_present() only control whether device_del() needs to be called or not, then always call of_node_put() and put_device().
In error case in sdio_init_func(), the reference of 'card->dev' is not get, to avoid redundant put in sdio_free_func_cis(), move the get_device() to sdio_alloc_func() and put_device() to sdio_release_func(), it can keep the get/put function be balanced.
Without this patch, while doing fault inject test, it can get the following leak reports, after this fix, the leak is gone.
unreferenced object 0xffff888112514000 (size 2048): comm "kworker/3:2", pid 65, jiffies 4294741614 (age 124.774s) hex dump (first 32 bytes): 00 e0 6f 12 81 88 ff ff 60 58 8d 06 81 88 ff ff ..o.....`X...... 10 40 51 12 81 88 ff ff 10 40 51 12 81 88 ff ff .@Q......@Q..... backtrace: [<000000009e5931da>] kmalloc_trace+0x21/0x110 [<000000002f839ccb>] mmc_alloc_card+0x38/0xb0 [mmc_core] [<0000000004adcbf6>] mmc_sdio_init_card+0xde/0x170 [mmc_core] [<000000007538fea0>] mmc_attach_sdio+0xcb/0x1b0 [mmc_core] [<00000000d4fdeba7>] mmc_rescan+0x54a/0x640 [mmc_core]
unreferenced object 0xffff888112511000 (size 2048): comm "kworker/3:2", pid 65, jiffies 4294741623 (age 124.766s) hex dump (first 32 bytes): 00 40 51 12 81 88 ff ff e0 58 8d 06 81 88 ff ff [email protected]...... 10 10 51 12 81 88 ff ff 10 10 51 12 81 88 ff ff ..Q.......Q..... backtrace: [<000000009e5931da>] kmalloc_trace+0x21/0x110 [<00000000fcbe706c>] sdio_alloc_func+0x35/0x100 [mmc_core] [<00000000c68f4b50>] mmc_attach_sdio.cold.18+0xb1/0x395 [mmc_core] [<00000000d4fdeba7>] mmc_rescan+0x54a/0x640 [mmc_core]
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-debug-modules-extraUpgrade kernel-rt-debug-develUpgrade kernel-abi-stablelistsUpgrade kernel-docUpgrade kernel-toolsUpgrade kernel-tools-libs-develUpgrade kernel-headersUpgrade kernel-zfcpdump-develUpgrade kernel-zfcpdump-coreUpgrade kernel-rt-debug-modules-extraUpgrade perfUpgrade kernel-rt-debug-kvmUpgrade kernel-rtUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-develUpgrade kernel-modulesUpgrade kernel-debugUpgrade kernel-modules-extraUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-tools-libsUpgrade kernel-rt-debug-coreUpgrade python3-perfUpgrade kernel-debug-develUpgrade kernel-develUpgrade kernel-rt-modulesUpgrade kernel-rt-kvmUpgrade kernel-zfcpdumpUpgrade kernel-debug-modulesUpgrade kernel-rt-coreUpgrade kernel-cross-headersUpgrade kernel-coreUpgrade kernel-rt-debugUpgrade bpftoolUpgrade kernelUpgrade kernel-rt-debug-modulesUpgrade kernel-debug-coreUpgrade kernel-rt-modules-extra | Aug 12, 2024 | May 21, 2024 |
| Amazon Linux Ami 2 | — | Upgrade kernel-tools-develUpgrade perfUpgrade kernel-toolsUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-4.14.309-231.529Upgrade kernel-develUpgrade perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernelUpgrade kernel-headersUpgrade kernel-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade python-perfUpgrade kernel-livepatch-5.10.173-154.642Upgrade python-perf-debuginfoUpgrade bpftool | May 21, 2025 | May 21, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernelUpgrade kernel-headersUpgrade bpftoolUpgrade kernel-develUpgrade perfUpgrade kernel-tools-libs-develUpgrade kernel-toolsUpgrade kernel-tools-libs | Oct 8, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade bpftoolUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernelUpgrade kernel-abi-stablelists | Oct 9, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libsUpgrade python3-perf | Oct 8, 2024 | May 21, 2024 |
| Oracle_linux | — | Upgrade kernel | Aug 16, 2024 | May 21, 2024 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Aug 12, 2024 | May 21, 2024 |
| Rocky_linux | — | Upgrade kernel-tools-libsUpgrade kernel-modules-extraUpgrade kernel-rt-coreUpgrade kernel-toolsUpgrade kernel-rt-kvmUpgrade python3-perf-debuginfoUpgrade kernel-rt-develUpgrade kernel-rt-debug-debuginfoUpgrade bpftoolUpgrade perfUpgrade kernel-tools-debuginfoUpgrade kernel-debug-develUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-rt-modules-extraUpgrade kernel-rt-debugUpgrade kernel-rt-debug-modules-extraUpgrade kernel-develUpgrade kernel-coreUpgrade kernel-debug-coreUpgrade kernel-modulesUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-modulesUpgrade kernel-debuginfoUpgrade python3-perfUpgrade kernel-debugUpgrade kernel-rt-debug-coreUpgrade kernel-rt-debug-develUpgrade kernel-debug-modules-extraUpgrade kernel-rt-debuginfoUpgrade kernel-debug-modulesUpgrade perf-debuginfoUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-debug-kvmUpgrade kernelUpgrade kernel-tools-libs-develUpgrade kernel-rtUpgrade kernel-cross-headersUpgrade kernel-debug-debuginfoUpgrade bpftool-debuginfo | Aug 22, 2024 | May 21, 2024 |
| Suse | — | Upgrade dlm-kmp-defaultUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-rtUpgrade kernel-debugUpgrade dtb-hisiliconUpgrade kernel-rt-optionalUpgrade dtb-sprdUpgrade reiserfs-kmp-rtUpgrade kernel-rt-livepatch-develUpgrade kernel-rt_debug-vdsoUpgrade kernel-rt-extraUpgrade kernel-rt_debugUpgrade ocfs2-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-azure-vdsoUpgrade kernel-kvmsmall-vdsoUpgrade kernel-azure-extraUpgrade kernel-azure-baseUpgrade kernel-default-manUpgrade kernel-docs-htmlUpgrade kernel-default-baseUpgrade kernel-64kb-extraUpgrade kernel-kvmsmall-livepatch-develUpgrade kselftests-kmp-defaultUpgrade dtb-appleUpgrade dlm-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade dtb-amlogicUpgrade dtb-broadcomUpgrade kernel-defaultUpgrade reiserfs-kmp-defaultUpgrade dlm-kmp-rtUpgrade kernel-macrosUpgrade kernel-debug-develUpgrade dtb-armUpgrade kernel-obs-qaUpgrade dtb-socionextUpgrade kernel-obs-buildUpgrade kernel-rt-vdsoUpgrade kernel-source-rtUpgrade kernel-debug-livepatch-develUpgrade kernel-default-livepatch-develUpgrade reiserfs-kmp-64kbUpgrade dtb-amdUpgrade kernel-docsUpgrade kernel-default-extraUpgrade kernel-syms-rtUpgrade dtb-marvellUpgrade dtb-apmUpgrade kernel-symsUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-nvidiaUpgrade kernel-64kb-optionalUpgrade dtb-renesasUpgrade dtb-rockchipUpgrade dtb-exynosUpgrade dtb-lgUpgrade reiserfs-kmp-azureUpgrade kernel-develUpgrade dlm-kmp-64kbUpgrade kernel-azureUpgrade dtb-mediatekUpgrade kernel-64kb-livepatch-develUpgrade cluster-md-kmp-azureUpgrade kselftests-kmp-64kbUpgrade kernel-64kbUpgrade kernel-rt_debug-develUpgrade kernel-debug-vdsoUpgrade kernel-rt-livepatchUpgrade kernel-zfcpdumpUpgrade kernel-source-azureUpgrade kernel-azure-livepatch-develUpgrade gfs2-kmp-defaultUpgrade dtb-amazonUpgrade dtb-qcomUpgrade kernel-devel-azureUpgrade kernel-syms-azureUpgrade kernel-source-vanillaUpgrade kernel-kvmsmallUpgrade kernel-default-base-rebuildUpgrade dtb-caviumUpgrade kernel-azure-optionalUpgrade dtb-allwinnerUpgrade kernel-kvmsmall-develUpgrade ocfs2-kmp-azureUpgrade kernel-azure-develUpgrade gfs2-kmp-azureUpgrade kselftests-kmp-azureUpgrade kernel-sourceUpgrade kernel-default-vdsoUpgrade kernel-default-livepatchUpgrade kernel-64kb-develUpgrade dtb-alteraUpgrade cluster-md-kmp-rtUpgrade gfs2-kmp-rtUpgrade ocfs2-kmp-defaultUpgrade kernel-default-develUpgrade kernel-rtUpgrade gfs2-kmp-64kbUpgrade dtb-freescaleUpgrade kernel-rt-develUpgrade kernel-devel-rtUpgrade kernel-default-optionalUpgrade dtb-xilinx | Jun 12, 2024 | May 21, 2024 |
| Ubuntu | — | Upgrade linux-gcp-5.4Upgrade linux-lowlatencyUpgrade linux-ibm-5.4Upgrade linux-raspiUpgrade linux-iotUpgrade linux-azure-fipsUpgrade linuxUpgrade linux-gcp-4.15Upgrade linux-gcp-fipsUpgrade linux-gkeop-5.15Upgrade linux-hwe-5.15Upgrade linux-hweUpgrade linux-awsUpgrade linux-aws-5.4Upgrade linux-azure-4.15Upgrade linux-aws-5.15Upgrade linux-azure-5.4Upgrade linux-gkeopUpgrade linux-aws-hweUpgrade linux-nvidia-tegra-5.15Upgrade linux-azureUpgrade linux-fipsUpgrade linux-gcpUpgrade linux-kvmUpgrade linux-intel-iotg-5.15Upgrade linux-lowlatency-hwe-5.15Upgrade linux-azure-5.15Upgrade linux-ibmUpgrade linux-xilinx-zynqmpUpgrade linux-oracleUpgrade linux-oracle-5.15Upgrade linux-nvidiaUpgrade linux-gkeUpgrade linux-bluefieldUpgrade linux-aws-fipsUpgrade linux-oracle-5.4Upgrade linux-intel-iotgUpgrade linux-realtimeUpgrade linux-azure-fdeUpgrade linux-raspi-5.4Upgrade linux-riscv-5.15Upgrade linux-intel-iot-realtimeUpgrade linux-hwe-5.4Upgrade linux-gcp-5.15 | 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