Possible memory leak in block/ll_rw_blk.c

From: Catalin Marinas
Date: Sat Dec 09 2006 - 18:17:26 EST


Hi,

After 2.6.19, kmemleak reports several (few tens) orphan blocks
allocated in bio_alloc_bioset() via __blk_rq_map_user() in
block/ll_rq_blk.c. I think these came with commit
0e75f9063f5c55fb0b0b546a7c356f8ec186825e (support larger block pc
requests). The allocation backtrace for the "bio" structure is:

unreferenced object 0xdd9162b0 (size 64):
[<c018d46f>] kmem_cache_alloc
[<c0170b2e>] mempool_alloc_slab
[<c01709cb>] mempool_alloc
[<c01b7baa>] bio_alloc_bioset
[<c01b7d0e>] bio_alloc
[<c01b83f8>] bio_copy_user
[<c021a380>] __blk_rq_map_user
[<c021a4ff>] blk_rq_map_user
[<c021e687>] sg_io
[<c021ed3e>] scsi_cmd_ioctl
[<c02bcc13>] sd_ioctl
[<c021ca65>] blkdev_driver_ioctl
[<c021cc27>] blkdev_ioctl
[<c01ba72b>] block_ioctl
[<c019ea36>] do_ioctl

Because the above objects cannot be tracked, kmemleak also reports the
bio_map_data structures allocated in bio_alloc_map_data (called from
bio_copy_user via the above backtrace).

Thanks.

--
Catalin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/