* [PATCH] btrfs: fix btrfs_test_delayed_refs leak
@ 2025-02-10 11:17 David Disseldorp
2025-02-10 17:13 ` David Sterba
2025-02-11 2:54 ` Qu Wenruo
0 siblings, 2 replies; 3+ messages in thread
From: David Disseldorp @ 2025-02-10 11:17 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Disseldorp
The btrfs_transaction struct leaks, which can cause sporadic xfstests
failures when kmemleak checking is enabled:
kmemleak: 5 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
> cat /sys/kernel/debug/kmemleak
unreferenced object 0xffff88810fdc6c00 (size 512):
comm "modprobe", pid 203, jiffies 4294892552
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace (crc 6736050f):
__kmalloc_cache_noprof+0x133/0x2c0
btrfs_test_delayed_refs+0x6f/0xbb0 [btrfs]
btrfs_run_sanity_tests.cold+0x91/0xf9 [btrfs]
0xffffffffa02fd055
do_one_initcall+0x49/0x1c0
do_init_module+0x5b/0x1f0
init_module_from_file+0x70/0x90
idempotent_init_module+0xe8/0x2c0
__x64_sys_finit_module+0x6b/0xd0
do_syscall_64+0x54/0x110
entry_SYSCALL_64_after_hwframe+0x76/0x7e
The transaction struct was initially stack-allocated but switched to
heap following frame size compiler warnings.
Fixes: 2b34879d97e27 ("btrfs: selftests: add delayed ref self test cases")
Link: https://lore.kernel.org/all/20241206195100.GM31418@twin.jikos.cz/
Signed-off-by: David Disseldorp <ddiss@suse.de>
---
fs/btrfs/tests/delayed-refs-tests.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/btrfs/tests/delayed-refs-tests.c b/fs/btrfs/tests/delayed-refs-tests.c
index 6558508c2ddf5..265370e79a546 100644
--- a/fs/btrfs/tests/delayed-refs-tests.c
+++ b/fs/btrfs/tests/delayed-refs-tests.c
@@ -1009,6 +1009,7 @@ int btrfs_test_delayed_refs(u32 sectorsize, u32 nodesize)
if (!ret)
ret = select_delayed_refs_test(&trans);
+ kfree(transaction);
out_free_fs_info:
btrfs_free_dummy_fs_info(fs_info);
return ret;
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] btrfs: fix btrfs_test_delayed_refs leak
2025-02-10 11:17 [PATCH] btrfs: fix btrfs_test_delayed_refs leak David Disseldorp
@ 2025-02-10 17:13 ` David Sterba
2025-02-11 2:54 ` Qu Wenruo
1 sibling, 0 replies; 3+ messages in thread
From: David Sterba @ 2025-02-10 17:13 UTC (permalink / raw)
To: David Disseldorp; +Cc: linux-btrfs
On Mon, Feb 10, 2025 at 10:17:29PM +1100, David Disseldorp wrote:
> The btrfs_transaction struct leaks, which can cause sporadic xfstests
> failures when kmemleak checking is enabled:
>
> kmemleak: 5 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
> > cat /sys/kernel/debug/kmemleak
> unreferenced object 0xffff88810fdc6c00 (size 512):
> comm "modprobe", pid 203, jiffies 4294892552
> hex dump (first 32 bytes):
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> backtrace (crc 6736050f):
> __kmalloc_cache_noprof+0x133/0x2c0
> btrfs_test_delayed_refs+0x6f/0xbb0 [btrfs]
> btrfs_run_sanity_tests.cold+0x91/0xf9 [btrfs]
> 0xffffffffa02fd055
> do_one_initcall+0x49/0x1c0
> do_init_module+0x5b/0x1f0
> init_module_from_file+0x70/0x90
> idempotent_init_module+0xe8/0x2c0
> __x64_sys_finit_module+0x6b/0xd0
> do_syscall_64+0x54/0x110
> entry_SYSCALL_64_after_hwframe+0x76/0x7e
>
> The transaction struct was initially stack-allocated but switched to
> heap following frame size compiler warnings.
>
> Fixes: 2b34879d97e27 ("btrfs: selftests: add delayed ref self test cases")
> Link: https://lore.kernel.org/all/20241206195100.GM31418@twin.jikos.cz/
> Signed-off-by: David Disseldorp <ddiss@suse.de>
Added to for-next, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] btrfs: fix btrfs_test_delayed_refs leak
2025-02-10 11:17 [PATCH] btrfs: fix btrfs_test_delayed_refs leak David Disseldorp
2025-02-10 17:13 ` David Sterba
@ 2025-02-11 2:54 ` Qu Wenruo
1 sibling, 0 replies; 3+ messages in thread
From: Qu Wenruo @ 2025-02-11 2:54 UTC (permalink / raw)
To: David Disseldorp, linux-btrfs
在 2025/2/10 21:47, David Disseldorp 写道:
> The btrfs_transaction struct leaks, which can cause sporadic xfstests
> failures when kmemleak checking is enabled:
>
> kmemleak: 5 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
>> cat /sys/kernel/debug/kmemleak
> unreferenced object 0xffff88810fdc6c00 (size 512):
> comm "modprobe", pid 203, jiffies 4294892552
> hex dump (first 32 bytes):
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> backtrace (crc 6736050f):
> __kmalloc_cache_noprof+0x133/0x2c0
> btrfs_test_delayed_refs+0x6f/0xbb0 [btrfs]
> btrfs_run_sanity_tests.cold+0x91/0xf9 [btrfs]
> 0xffffffffa02fd055
> do_one_initcall+0x49/0x1c0
> do_init_module+0x5b/0x1f0
> init_module_from_file+0x70/0x90
> idempotent_init_module+0xe8/0x2c0
> __x64_sys_finit_module+0x6b/0xd0
> do_syscall_64+0x54/0x110
> entry_SYSCALL_64_after_hwframe+0x76/0x7e
>
> The transaction struct was initially stack-allocated but switched to
> heap following frame size compiler warnings.
>
> Fixes: 2b34879d97e27 ("btrfs: selftests: add delayed ref self test cases")
> Link: https://lore.kernel.org/all/20241206195100.GM31418@twin.jikos.cz/
> Signed-off-by: David Disseldorp <ddiss@suse.de>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Thanks,
Qu
> ---
> fs/btrfs/tests/delayed-refs-tests.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/btrfs/tests/delayed-refs-tests.c b/fs/btrfs/tests/delayed-refs-tests.c
> index 6558508c2ddf5..265370e79a546 100644
> --- a/fs/btrfs/tests/delayed-refs-tests.c
> +++ b/fs/btrfs/tests/delayed-refs-tests.c
> @@ -1009,6 +1009,7 @@ int btrfs_test_delayed_refs(u32 sectorsize, u32 nodesize)
> if (!ret)
> ret = select_delayed_refs_test(&trans);
>
> + kfree(transaction);
> out_free_fs_info:
> btrfs_free_dummy_fs_info(fs_info);
> return ret;
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-02-11 2:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-10 11:17 [PATCH] btrfs: fix btrfs_test_delayed_refs leak David Disseldorp
2025-02-10 17:13 ` David Sterba
2025-02-11 2:54 ` Qu Wenruo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.