In the Linux kernel, the following vulnerability has been resolved:
mm/damon/vaddr-test: fix memory leak in damon_do_test_apply_three_regions()
When CONFIG_DAMON_VADDR_KUNIT_TEST=y and making CONFIG_DEBUG_KMEMLEAK=y and CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y, the below memory leak is detected.
Since commit 9f86d624292c ("mm/damon/vaddr-test: remove unnecessary variables"), the damon_destroy_ctx() is removed, but still call damon_new_target() and damon_new_region(), the damon_region which is allocated by kmem_cache_alloc() in damon_new_region() and the damon_target which is allocated by kmalloc in damon_new_target() are not freed. And the damon_region which is allocated in damon_new_region() in damon_set_regions() is also not freed.
So use damon_destroy_target to free all the damon_regions and damon_target.
unreferenced object 0xffff888107c9a940 (size 64): comm "kunit_try_catch", pid 1069, jiffies 4294670592 (age 732.761s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 06 00 00 00 6b 6b 6b 6b ............kkkk 60 c7 9c 07 81 88 ff ff f8 cb 9c 07 81 88 ff ff `............... backtrace: [<ffffffff817e0167>] kmalloc_trace+0x27/0xa0 [<ffffffff819c11cf>] damon_new_target+0x3f/0x1b0 [<ffffffff819c7d55>] damon_do_test_apply_three_regions.constprop.0+0x95/0x3e0 [<ffffffff819c82be>] damon_test_apply_three_regions1+0x21e/0x260 [<ffffffff829fce6a>] kunit_generic_run_threadfn_adapter+0x4a/0x90 [<ffffffff81237cf6>] kthread+0x2b6/0x380 [<ffffffff81097add>] ret_from_fork+0x2d/0x70 [<ffffffff81003791>] ret_from_fork_asm+0x11/0x20 unreferenced object 0xffff8881079cc740 (size 56): comm "kunit_try_catch", pid 1069, jiffies 4294670592 (age 732.761s) hex dump (first 32 bytes): 05 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 ................ 6b 6b 6b 6b 6b 6b 6b 6b 00 00 00 00 6b 6b 6b 6b kkkkkkkk....kkkk backtrace: [<ffffffff819bc492>] damon_new_region+0x22/0x1c0 [<ffffffff819c7d91>] damon_do_test_apply_three_regions.constprop.0+0xd1/0x3e0 [<ffffffff819c82be>] damon_test_apply_three_regions1+0x21e/0x260 [<ffffffff829fce6a>] kunit_generic_run_threadfn_adapter+0x4a/0x90 [<ffffffff81237cf6>] kthread+0x2b6/0x380 [<ffffffff81097add>] ret_from_fork+0x2d/0x70 [<ffffffff81003791>] ret_from_fork_asm+0x11/0x20 unreferenced object 0xffff888107c9ac40 (size 64): comm "kunit_try_catch", pid 1071, jiffies 4294670595 (age 732.843s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 06 00 00 00 6b 6b 6b 6b ............kkkk a0 cc 9c 07 81 88 ff ff 78 a1 76 07 81 88 ff ff ........x.v..... backtrace: [<ffffffff817e0167>] kmalloc_trace+0x27/0xa0 [<ffffffff819c11cf>] damon_new_target+0x3f/0x1b0 [<ffffffff819c7d55>] damon_do_test_apply_three_regions.constprop.0+0x95/0x3e0 [<ffffffff819c851e>] damon_test_apply_three_regions2+0x21e/0x260 [<ffffffff829fce6a>] kunit_generic_run_threadfn_adapter+0x4a/0x90 [<ffffffff81237cf6>] kthread+0x2b6/0x380 [<ffffffff81097add>] ret_from_fork+0x2d/0x70 [<ffffffff81003791>] ret_from_fork_asm+0x11/0x20 unreferenced object 0xffff8881079ccc80 (size 56): comm "kunit_try_catch", pid 1071, jiffies 4294670595 (age 732.843s) hex dump (first 32 bytes): 05 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 ................ 6b 6b 6b 6b 6b 6b 6b 6b 00 00 00 00 6b 6b 6b 6b kkkkkkkk....kkkk backtrace: [<ffffffff819bc492>] damon_new_region+0x22/0x1c0 [<ffffffff819c7d91>] damon_do_test_apply_three_regions.constprop.0+0xd1/0x3e0 [<ffffffff819c851e>] damon_test_apply_three_regions2+0x21e/0x260 [<ffffffff829fce6a>] kunit_generic_run_threadfn_adapter+0x4a/0x90 [<ffffffff81237cf6>] kthread+0x2b6/0x380 [<ffffffff81097add>] ret_from_fork+0x2d/0x70 [<ffff ---truncated---
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-modules-extraUpgrade kernel-rt-kvmUpgrade kernel-rt-develUpgrade kernel-rt-debug-coreUpgrade kernel-debug-modulesUpgrade bpftoolUpgrade kernel-zfcpdumpUpgrade kernel-zfcpdump-develUpgrade kernel-rt-debug-develUpgrade kernel-tools-libsUpgrade kernel-zfcpdump-modulesUpgrade kernel-debug-develUpgrade kernel-debug-modules-extraUpgrade kernel-debugUpgrade kernel-debug-coreUpgrade kernel-rt-debug-kvmUpgrade kernel-modulesUpgrade kernel-rt-modulesUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-develUpgrade kernel-rt-debugUpgrade kernel-rt-coreUpgrade kernel-rtUpgrade kernel-cross-headersUpgrade kernel-rt-debug-modules-extraUpgrade kernel-tools-libs-develUpgrade kernel-abi-stablelistsUpgrade kernel-zfcpdump-coreUpgrade kernel-headersUpgrade python3-perfUpgrade kernel-toolsUpgrade kernelUpgrade perfUpgrade kernel-rt-modules-extraUpgrade kernel-doc | Jul 3, 2024 | Mar 2, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | Mar 2, 2024 |
| Oracle_linux | — | Upgrade kernel | Jul 3, 2024 | Mar 2, 2024 |
| Redhat_linux | — | No solution existsUpgrade kernel-rtUpgrade kernel | Jul 3, 2024 | Mar 2, 2024 |
| Rocky_linux | — | Upgrade bpftool-debuginfoUpgrade kernel-tools-libsUpgrade kernel-rt-debug-coreUpgrade kernel-debug-modules-extraUpgrade kernel-toolsUpgrade kernel-rt-modulesUpgrade kernel-rtUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-debuginfo-common-x86_64Upgrade bpftoolUpgrade kernel-rt-debug-modulesUpgrade kernel-coreUpgrade kernel-modules-extraUpgrade kernel-debug-debuginfoUpgrade kernel-modulesUpgrade python3-perf-debuginfoUpgrade kernel-headersUpgrade kernel-debug-modulesUpgrade kernel-rt-debuginfoUpgrade kernel-rt-debugUpgrade kernel-rt-coreUpgrade kernel-debug-coreUpgrade kernel-debuginfoUpgrade perfUpgrade kernel-develUpgrade kernel-rt-debug-develUpgrade perf-debuginfoUpgrade kernel-rt-kvmUpgrade python3-perfUpgrade kernel-tools-libs-develUpgrade kernel-debug-develUpgrade kernel-debugUpgrade kernel-cross-headersUpgrade kernel-rt-modules-extraUpgrade kernelUpgrade kernel-tools-debuginfoUpgrade kernel-rt-develUpgrade kernel-rt-debug-kvm | Jul 16, 2024 | Mar 2, 2024 |
| Ubuntu | — | Upgrade linux-gcp-6.5Upgrade linux-gcpUpgrade linux-oem-6.5Upgrade linux-laptopUpgrade linux-oracle-6.5Upgrade linux-oracleUpgrade linux-lowlatencyUpgrade linux-nvidia-6.5Upgrade linux-riscvUpgrade linux-starfiveUpgrade linux-hwe-6.5Upgrade linux-raspiUpgrade linuxUpgrade linux-awsUpgrade linux-lowlatency-hwe-6.5 | Nov 19, 2024 | Mar 2, 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