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]
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-abi-stablelistsUpgrade kernel-rt-debug-develUpgrade kernel-rt-debug-modules-extraUpgrade perfUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-coreUpgrade kernel-toolsUpgrade kernel-docUpgrade kernel-debug-modules-extraUpgrade kernel-rt-debug-kvmUpgrade kernel-zfcpdump-develUpgrade kernel-headersUpgrade kernel-tools-libs-develUpgrade kernel-rtUpgrade kernel-cross-headersUpgrade kernel-rt-kvmUpgrade kernel-debug-modulesUpgrade kernel-debug-coreUpgrade bpftoolUpgrade kernel-rt-debugUpgrade kernel-rt-debug-modulesUpgrade kernel-tools-libsUpgrade kernel-rt-develUpgrade kernel-debugUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-zfcpdumpUpgrade kernelUpgrade kernel-modules-extraUpgrade kernel-debug-develUpgrade kernel-rt-debug-coreUpgrade kernel-develUpgrade kernel-rt-modulesUpgrade python3-perfUpgrade kernel-rt-coreUpgrade kernel-coreUpgrade kernel-rt-modules-extraUpgrade kernel-modules | Aug 12, 2024 | May 21, 2024 |
| Amazon Linux Ami 2 | — | Upgrade python-perfUpgrade bpftoolUpgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade kernel-livepatch-5.10.173-154.642Upgrade python-perf-debuginfoUpgrade kernel-headersUpgrade kernel-develUpgrade perf-debuginfoUpgrade kernel-livepatch-4.14.309-231.529Upgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade kernel-toolsUpgrade kernel-tools-debuginfo | May 21, 2025 | May 21, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-develUpgrade bpftoolUpgrade kernel-headersUpgrade perfUpgrade kernelUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-tools-libs-devel | Oct 8, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-tools-libsUpgrade bpftoolUpgrade kernel-toolsUpgrade python3-perfUpgrade kernelUpgrade kernel-abi-stablelists | Oct 9, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernel-tools-libsUpgrade kernelUpgrade kernel-toolsUpgrade python3-perf | Oct 8, 2024 | May 21, 2024 |
| Oracle_linux | — | Upgrade kernel | Aug 16, 2024 | May 21, 2024 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Aug 12, 2024 | May 21, 2024 |
| Rocky_linux | — | Upgrade kernel-debug-modulesUpgrade kernel-rt-debug-develUpgrade kernel-debug-modules-extraUpgrade kernel-rt-debuginfoUpgrade kernel-rt-debug-kvmUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-headersUpgrade kernel-cross-headersUpgrade kernelUpgrade kernel-rtUpgrade kernel-tools-libs-develUpgrade kernel-debug-debuginfoUpgrade bpftool-debuginfoUpgrade perf-debuginfoUpgrade bpftoolUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rt-modulesUpgrade perfUpgrade kernel-debug-coreUpgrade kernel-debugUpgrade kernel-modulesUpgrade kernel-rt-kvmUpgrade kernel-rt-develUpgrade python3-perfUpgrade kernel-modules-extraUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-debugUpgrade kernel-rt-modules-extraUpgrade kernel-coreUpgrade kernel-rt-coreUpgrade kernel-rt-debug-coreUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-rt-debug-modulesUpgrade kernel-develUpgrade kernel-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-debug-devel | Aug 22, 2024 | May 21, 2024 |
| Suse | — | Upgrade kernel-devel-rtUpgrade kernel-rt-develUpgrade dtb-exynosUpgrade kernel-devel-azureUpgrade dtb-qcomUpgrade kernel-source-azureUpgrade dtb-mediatekUpgrade kernel-default-optionalUpgrade kernel-rt_debug-develUpgrade dtb-freescaleUpgrade dtb-lgUpgrade dtb-xilinxUpgrade kernel-64kbUpgrade kernel-kvmsmallUpgrade reiserfs-kmp-azureUpgrade dtb-caviumUpgrade kernel-zfcpdumpUpgrade gfs2-kmp-azureUpgrade kernel-azure-develUpgrade kernel-rtUpgrade gfs2-kmp-rtUpgrade kernel-default-vdsoUpgrade cluster-md-kmp-azureUpgrade kernel-sourceUpgrade kernel-rt-livepatchUpgrade dtb-amazonUpgrade dtb-rockchipUpgrade kselftests-kmp-azureUpgrade kernel-64kb-develUpgrade gfs2-kmp-defaultUpgrade dtb-alteraUpgrade kernel-azure-livepatch-develUpgrade kernel-syms-azureUpgrade cluster-md-kmp-rtUpgrade kernel-debug-vdsoUpgrade kernel-64kb-livepatch-develUpgrade ocfs2-kmp-defaultUpgrade dlm-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade kernel-azureUpgrade gfs2-kmp-64kbUpgrade kernel-kvmsmall-develUpgrade kernel-azure-optionalUpgrade kernel-develUpgrade kselftests-kmp-64kbUpgrade dtb-allwinnerUpgrade kernel-source-vanillaUpgrade kernel-default-develUpgrade kernel-default-livepatchUpgrade ocfs2-kmp-azureUpgrade kernel-docs-htmlUpgrade kernel-default-manUpgrade kernel-azure-extraUpgrade kernel-azure-baseUpgrade dtb-appleUpgrade dlm-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade kernel-64kb-optionalUpgrade kernel-default-extraUpgrade reiserfs-kmp-rtUpgrade kernel-macrosUpgrade kernel-debug-develUpgrade dlm-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade kernel-obs-buildUpgrade kernel-rt_debug-vdsoUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-sprdUpgrade kernel-symsUpgrade kernel-debugUpgrade kernel-64kb-extraUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-rt-extraUpgrade kernel-obs-qaUpgrade dtb-socionextUpgrade dtb-armUpgrade dtb-amdUpgrade kernel-rt-livepatch-develUpgrade kernel-rt-vdsoUpgrade kernel-default-livepatch-develUpgrade kernel-debug-livepatch-develUpgrade kernel-rt_debugUpgrade kselftests-kmp-rtUpgrade kernel-syms-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-rt-optionalUpgrade kernel-defaultUpgrade dtb-marvellUpgrade kernel-source-rtUpgrade kernel-kvmsmall-vdsoUpgrade reiserfs-kmp-64kbUpgrade kernel-default-baseUpgrade dtb-nvidiaUpgrade dtb-apmUpgrade dtb-renesasUpgrade kernel-azure-vdsoUpgrade dtb-broadcomUpgrade dtb-amlogicUpgrade dtb-hisiliconUpgrade dlm-kmp-defaultUpgrade kernel-docsUpgrade ocfs2-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-default | Jun 12, 2024 | May 21, 2024 |
| Ubuntu | — | Upgrade linux-oracle-5.15Upgrade linux-azure-fdeUpgrade linux-xilinx-zynqmpUpgrade linux-realtimeUpgrade linux-nvidiaUpgrade linux-azure-5.15Upgrade linux-oracleUpgrade linux-gkeUpgrade linux-intel-iotg-5.15Upgrade linux-oracle-5.4Upgrade linux-lowlatency-hwe-5.15Upgrade linux-intel-iotgUpgrade linux-ibmUpgrade linux-fipsUpgrade linux-riscv-5.15Upgrade linux-aws-fipsUpgrade linux-gcpUpgrade linux-raspi-5.4Upgrade linux-bluefieldUpgrade linux-kvmUpgrade linux-gcp-5.15Upgrade linux-hwe-5.4Upgrade linux-intel-iot-realtimeUpgrade linux-azure-4.15Upgrade linux-aws-5.15Upgrade linux-hweUpgrade linux-azure-fipsUpgrade linux-lowlatencyUpgrade linux-raspiUpgrade linux-gcp-fipsUpgrade linux-aws-hweUpgrade linux-gkeopUpgrade linux-ibm-5.4Upgrade linux-gcp-5.4Upgrade linux-gkeop-5.15Upgrade linux-hwe-5.15Upgrade linux-awsUpgrade linux-nvidia-tegra-5.15Upgrade linuxUpgrade linux-gcp-4.15Upgrade linux-iotUpgrade linux-azure-5.4Upgrade linux-azureUpgrade linux-aws-5.4 | 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 |
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