Several memory leaks of the type shown below are reported by kmemleak for the block I/O system, and ext4 in particular:

unreferenced object 0xffff8801ff71f500 (size 256):
  comm "kworker/u16:4", pid 76, jiffies 4294707552 (age 97.892s)
  hex dump (first 32 bytes):
    c0 20 08 00 00 ea ff ff 00 10 00 00 00 00 00 00  . ..............
    c0 20 08 00 00 ea ff ff 00 10 00 00 00 00 00 00  . ..............
  backtrace:
    [<ffffffff8178f6fe>] kmemleak_alloc+0x4e/0xb0
    [<ffffffff811fea5c>] kmem_cache_alloc+0xdc/0x300
    [<ffffffff813af4dc>] bvec_alloc+0x5c/0xf0
    [<ffffffff813af714>] bio_alloc_bioset+0x1a4/0x2a0
    [<ffffffff813c1d94>] next_bio+0x24/0x50
    [<ffffffff813c2220>] blkdev_issue_zeroout+0xe0/0x1d0
    [<ffffffff812b9618>] ext4_issue_zeroout+0x38/0x50
    [<ffffffff812e3d4f>] ext4_ext_zeroout+0x2f/0x40
    [<ffffffff812e89dc>] ext4_ext_convert_to_initialized+0x28c/0x920
    [<ffffffff812eb572>] ext4_ext_map_blocks+0x16e2/0x1940
    [<ffffffff812b9753>] ext4_map_blocks+0x123/0x620
    [<ffffffff812bd605>] ext4_writepages+0x885/0x10e0
    [<ffffffff811a7231>] do_writepages+0x21/0x40
    [<ffffffff81257d20>] __writeback_single_inode+0x60/0x830
    [<ffffffff81258cfd>] writeback_sb_inodes+0x2bd/0x650
    [<ffffffff8125911c>] __writeback_inodes_wb+0x8c/0xc0

This leak has been bisected to commit 9082e87bfbf83579b97e3bfc45d81f3e50da2177
("block: remove struct bio_batch"). As usual, I will be happy to test any fixes.

Thanks,

Larry

--
If I was stranded on an island and the only way to get off
the island was to make a pretty UI, I’d die there.

Linus Torvalds

Reply via email to