CVE-2023-52730

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-52730
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-52730.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-52730
Downstream
Related
Published
2024-05-21T16:15:13Z
Modified
2025-09-23T18:57:24Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

In the Linux kernel, the following vulnerability has been resolved:

mmc: sdio: fix possible resource leaks in some error paths

If sdioaddfunc() or sdioinitfunc() fails, sdioremovefunc() can not release the resources, because the sdio function is not presented in these two cases, it won't call ofnodeput() or put_device().

To fix these leaks, make sdiofuncpresent() only control whether devicedel() needs to be called or not, then always call ofnodeput() and putdevice().

In error case in sdioinitfunc(), the reference of 'card->dev' is not get, to avoid redundant put in sdiofreefunccis(), move the getdevice() to sdioallocfunc() and putdevice() to sdiorelease_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>] kmalloctrace+0x21/0x110 [<000000002f839ccb>] mmcalloccard+0x38/0xb0 [mmccore] [<0000000004adcbf6>] mmcsdioinitcard+0xde/0x170 [mmccore] [<000000007538fea0>] mmcattachsdio+0xcb/0x1b0 [mmccore] [<00000000d4fdeba7>] mmcrescan+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 .@Q......X...... 10 10 51 12 81 88 ff ff 10 10 51 12 81 88 ff ff ..Q.......Q..... backtrace: [<000000009e5931da>] kmalloctrace+0x21/0x110 [<00000000fcbe706c>] sdioallocfunc+0x35/0x100 [mmccore] [<00000000c68f4b50>] mmcattachsdio.cold.18+0xb1/0x395 [mmccore] [<00000000d4fdeba7>] mmcrescan+0x54a/0x640 [mmc_core]

References

Affected packages