[bug report] kmemleak observed with blktests nvme/tcp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello

I found the kmemleak issue after blktests nvme/tcp tests on the latest
linux-block/for-next, please help check it and let me know if you need
any info/testing for it, thanks.

# dmesg | grep kmemleak
[ 2580.572467] kmemleak: 92 new suspected memory leaks (see
/sys/kernel/debug/kmemleak)

# cat kmemleak.log
unreferenced object 0xffff8885a1abe740 (size 32):
  comm "kworker/40:1H", pid 799, jiffies 4296062986
  hex dump (first 32 bytes):
    c2 4a 4a 04 00 ea ff ff 00 00 00 00 00 10 00 00  .JJ.............
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace (crc 6328eade):
    [<ffffffffa7f2657c>] __kmalloc+0x37c/0x480
    [<ffffffffa86a9b1f>] sgl_alloc_order+0x7f/0x360
    [<ffffffffc261f6c5>] lo_read_simple+0x1d5/0x5b0 [loop]
    [<ffffffffc26287ef>] 0xffffffffc26287ef
    [<ffffffffc262a2c4>] 0xffffffffc262a2c4
    [<ffffffffc262a881>] 0xffffffffc262a881
    [<ffffffffa76adf3c>] process_one_work+0x89c/0x19f0
    [<ffffffffa76b0813>] worker_thread+0x583/0xd20
    [<ffffffffa76ce2a3>] kthread+0x2f3/0x3e0
    [<ffffffffa74a804d>] ret_from_fork+0x2d/0x70
    [<ffffffffa7406e4a>] ret_from_fork_asm+0x1a/0x30
unreferenced object 0xffff88a8b03647c0 (size 16):
  comm "kworker/40:1H", pid 799, jiffies 4296062986
  hex dump (first 16 bytes):
    c0 4a 4a 04 00 ea ff ff 00 10 00 00 00 00 00 00  .JJ.............
  backtrace (crc 860ce62b):
    [<ffffffffa7f2657c>] __kmalloc+0x37c/0x480
    [<ffffffffc261f805>] lo_read_simple+0x315/0x5b0 [loop]
    [<ffffffffc26287ef>] 0xffffffffc26287ef
    [<ffffffffc262a2c4>] 0xffffffffc262a2c4
    [<ffffffffc262a881>] 0xffffffffc262a881
    [<ffffffffa76adf3c>] process_one_work+0x89c/0x19f0
    [<ffffffffa76b0813>] worker_thread+0x583/0xd20
    [<ffffffffa76ce2a3>] kthread+0x2f3/0x3e0
    [<ffffffffa74a804d>] ret_from_fork+0x2d/0x70
    [<ffffffffa7406e4a>] ret_from_fork_asm+0x1a/0x30

(gdb) l *(lo_read_simple+0x1d5)
0x66c5 is in lo_read_simple (drivers/block/loop.c:284).
279 struct bio_vec bvec;
280 struct req_iterator iter;
281 struct iov_iter i;
282 ssize_t len;
283
284 rq_for_each_segment(bvec, rq, iter) {
285 iov_iter_bvec(&i, ITER_DEST, &bvec, 1, bvec.bv_len);
286 len = vfs_iter_read(lo->lo_backing_file, &i, &pos, 0);
287 if (len < 0)
288 return len;
(gdb) l *(lo_read_simple+0x315)
0x6805 is in lo_read_simple (./include/linux/bio.h:120).
115 iter->bi_sector += bytes >> 9;
116
117 if (bio_no_advance_iter(bio))
118 iter->bi_size -= bytes;
119 else
120 bvec_iter_advance_single(bio->bi_io_vec, iter, bytes);
121 }
122
123 void __bio_advance(struct bio *, unsigned bytes);
124


-- 
Best Regards,
  Yi Zhang





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux