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-develUpgrade kernel-develUpgrade kernel-rt-develUpgrade kernel-rt-kvmUpgrade kernel-rt-debug-modulesUpgrade kernelUpgrade kernel-debugUpgrade kernel-zfcpdumpUpgrade kernel-rt-debug-coreUpgrade kernel-debug-coreUpgrade bpftoolUpgrade kernel-debug-modulesUpgrade kernel-rt-modulesUpgrade python3-perfUpgrade kernel-modules-extraUpgrade kernel-coreUpgrade kernel-modulesUpgrade kernel-cross-headersUpgrade kernel-rt-modules-extraUpgrade kernel-rt-coreUpgrade kernel-rt-debugUpgrade kernel-tools-libsUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-debug-kvmUpgrade kernel-toolsUpgrade kernel-rt-debug-develUpgrade kernel-debug-modules-extraUpgrade kernel-rtUpgrade kernel-zfcpdump-coreUpgrade perfUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-debug-modules-extraUpgrade kernel-tools-libs-develUpgrade kernel-abi-stablelistsUpgrade kernel-headersUpgrade kernel-zfcpdump-develUpgrade kernel-doc | Aug 12, 2024 | May 21, 2024 |
| Amazon Linux Ami 2 | — | Upgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-livepatch-4.14.309-231.529Upgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade kernel-tools-develUpgrade kernel-develUpgrade kernel-toolsUpgrade python-perfUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfoUpgrade bpftoolUpgrade kernel-livepatch-5.10.173-154.642Upgrade kernelUpgrade kernel-headersUpgrade python-perf-debuginfo | May 21, 2025 | May 21, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-headersUpgrade kernelUpgrade bpftoolUpgrade perfUpgrade kernel-develUpgrade kernel-tools-libsUpgrade kernel-tools-libs-develUpgrade kernel-tools | Oct 8, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade bpftoolUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel | Oct 9, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernelUpgrade kernel-toolsUpgrade 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-debuginfoUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-modulesUpgrade kernel-debugUpgrade kernel-rt-debugUpgrade kernel-develUpgrade python3-perfUpgrade kernel-rt-modules-extraUpgrade kernel-coreUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-tools-libsUpgrade kernel-modules-extraUpgrade bpftoolUpgrade kernel-rt-debug-coreUpgrade kernel-debug-coreUpgrade kernel-toolsUpgrade kernel-rt-kvmUpgrade kernel-tools-debuginfoUpgrade kernel-rt-debug-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-rt-coreUpgrade kernel-rt-develUpgrade kernel-modulesUpgrade kernel-debug-develUpgrade perfUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-debug-develUpgrade kernel-debug-modulesUpgrade kernel-cross-headersUpgrade kernel-debug-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-tools-libs-develUpgrade kernel-rt-debuginfoUpgrade kernel-headersUpgrade kernelUpgrade perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-debug-kvmUpgrade kernel-debug-modules-extraUpgrade kernel-rt | Aug 22, 2024 | May 21, 2024 |
| Suse | — | Upgrade dtb-xilinxUpgrade kernel-64kbUpgrade kernel-default-optionalUpgrade kernel-rt_debug-develUpgrade ocfs2-kmp-defaultUpgrade kernel-source-vanillaUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-rtUpgrade kernel-azureUpgrade kernel-default-vdsoUpgrade cluster-md-kmp-azureUpgrade kernel-develUpgrade dtb-alteraUpgrade gfs2-kmp-rtUpgrade kselftests-kmp-azureUpgrade kernel-64kb-develUpgrade kernel-kvmsmallUpgrade kernel-sourceUpgrade kernel-syms-azureUpgrade kernel-64kb-livepatch-develUpgrade dtb-allwinnerUpgrade kernel-azure-optionalUpgrade kernel-default-base-rebuildUpgrade kernel-kvmsmall-develUpgrade kernel-default-livepatchUpgrade dtb-exynosUpgrade dtb-mediatekUpgrade kernel-rtUpgrade dtb-qcomUpgrade kselftests-kmp-64kbUpgrade gfs2-kmp-64kbUpgrade kernel-default-develUpgrade kernel-azure-develUpgrade dtb-rockchipUpgrade dtb-amazonUpgrade kernel-source-azureUpgrade reiserfs-kmp-azureUpgrade kernel-rt-livepatchUpgrade kernel-zfcpdumpUpgrade kernel-devel-azureUpgrade ocfs2-kmp-azureUpgrade kernel-rt-develUpgrade dtb-lgUpgrade kernel-devel-rtUpgrade kernel-azure-livepatch-develUpgrade dtb-freescaleUpgrade gfs2-kmp-defaultUpgrade gfs2-kmp-azureUpgrade kernel-debug-vdsoUpgrade dtb-caviumUpgrade kernel-rt-optionalUpgrade kernel-default-extraUpgrade dtb-marvellUpgrade cluster-md-kmp-defaultUpgrade kernel-syms-rtUpgrade kernel-defaultUpgrade dtb-broadcomUpgrade dtb-apmUpgrade dtb-nvidiaUpgrade kernel-default-baseUpgrade reiserfs-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-debug-develUpgrade dlm-kmp-rtUpgrade kernel-macrosUpgrade dtb-amlogicUpgrade dlm-kmp-defaultUpgrade kernel-docsUpgrade dtb-hisiliconUpgrade kernel-obs-buildUpgrade reiserfs-kmp-defaultUpgrade kernel-rt_debug-vdsoUpgrade dtb-renesasUpgrade kernel-64kb-optionalUpgrade dtb-armUpgrade kernel-source-rtUpgrade dtb-socionextUpgrade kernel-rt-extraUpgrade kernel-default-livepatch-develUpgrade kernel-debug-livepatch-develUpgrade kernel-rt-vdsoUpgrade kernel-kvmsmall-vdsoUpgrade kernel-obs-qaUpgrade dtb-amdUpgrade kernel-rt-livepatch-develUpgrade kernel-64kb-extraUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-debugUpgrade kernel-symsUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-sprdUpgrade kselftests-kmp-defaultUpgrade kernel-docs-htmlUpgrade kernel-default-manUpgrade kernel-azure-vdsoUpgrade kernel-azure-extraUpgrade kernel-azure-baseUpgrade dtb-appleUpgrade dlm-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-rtUpgrade kernel-rt_debug | Jun 12, 2024 | May 21, 2024 |
| Ubuntu | — | Upgrade linux-oracle-5.4Upgrade linux-intel-iotgUpgrade linux-gkeUpgrade linux-lowlatency-hwe-5.15Upgrade linux-intel-iot-realtimeUpgrade linux-hwe-5.4Upgrade linux-bluefieldUpgrade linux-gcpUpgrade linux-azure-5.15Upgrade linux-nvidiaUpgrade linux-realtimeUpgrade linux-xilinx-zynqmpUpgrade linux-oracle-5.15Upgrade linux-azure-fdeUpgrade linux-gcp-5.15Upgrade linux-raspi-5.4Upgrade linux-ibmUpgrade linux-aws-fipsUpgrade linux-riscv-5.15Upgrade linux-kvmUpgrade linux-intel-iotg-5.15Upgrade linux-fipsUpgrade linux-oracleUpgrade linux-hwe-5.15Upgrade linux-gkeop-5.15Upgrade linux-aws-hweUpgrade linux-azure-5.4Upgrade linux-iotUpgrade linux-gcp-4.15Upgrade linux-aws-5.4Upgrade linux-hweUpgrade linux-nvidia-tegra-5.15Upgrade linux-azureUpgrade linux-aws-5.15Upgrade linuxUpgrade linux-awsUpgrade linux-azure-4.15Upgrade linux-ibm-5.4Upgrade linux-raspiUpgrade linux-gcp-5.4Upgrade linux-lowlatencyUpgrade linux-azure-fipsUpgrade linux-gcp-fipsUpgrade linux-gkeop | 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