On 2025/6/7 14:41, Sheng Yong wrote:
From: Sheng Yong <shengyo...@xiaomi.com>

When committing new super block, bio is allocated but not freed, and
kmemleak complains:

   unreferenced object 0xffff88801d185600 (size 192):
     comm "kworker/3:2", pid 128, jiffies 4298624992
     hex dump (first 32 bytes):
       00 00 00 00 00 00 00 00 80 67 c3 00 81 88 ff ff  .........g......
       01 08 06 00 00 00 00 00 00 00 00 00 01 00 00 00  ................
     backtrace (crc 650ecdb1):
       kmem_cache_alloc_noprof+0x3a9/0x460
       mempool_alloc_noprof+0x12f/0x310
       bio_alloc_bioset+0x1e2/0x7e0
       __f2fs_commit_super+0xe0/0x370
       f2fs_commit_super+0x4ed/0x8c0
       f2fs_record_error_work+0xc7/0x190
       process_one_work+0x7db/0x1970
       worker_thread+0x518/0xea0
       kthread+0x359/0x690
       ret_from_fork+0x34/0x70
       ret_from_fork_asm+0x1a/0x30

The issue can be reproduced by:

   mount /dev/vda /mnt
   i=0
   while :; do
       echo '[h]abc' > /sys/fs/f2fs/vda/extension_list
       echo '[h]!abc' > /sys/fs/f2fs/vda/extension_list
       echo scan > /sys/kernel/debug/kmemleak
       dmesg | grep "new suspected memory leaks"
       [ $? -eq 0 ] && break
       i=$((i + 1))
       echo "$i"
   done
   umount /mnt

Fixes: 5bcde4557862 ("f2fs: get rid of buffer_head use")
Signed-off-by: Sheng Yong <shengyo...@xiaomi.com>

Reviewed-by: Chao Yu <c...@kernel.org>

Thanks,


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to