Rusty Russell
bb478d8b16
virtio_ring: plug kmemleak false positive.
unreferenced object 0xffff88003d467e20 (size 32):
comm "softirq", pid 0, jiffies 4295197765 (age 6.364s)
hex dump (first 32 bytes):
28 19 bf 3d 00 00 00 00 0c 00 00 00 01 00 01 00 (..=............
02 dc 51 3c 00 00 00 00 56 00 00 00 00 00 00 00 ..Q<....V.......
backtrace:
[<ffffffff8152db19>] kmemleak_alloc+0x59/0xc0
[<ffffffff81102e93>] __kmalloc+0xf3/0x180
[<ffffffff812db5d6>] vring_add_indirect+0x36/0x280
[<ffffffff812dc59f>] virtqueue_add_outbuf+0xbf/0x4e0
[<ffffffff813a8b30>] start_xmit+0x1a0/0x3b0
[<ffffffff81445861>] dev_hard_start_xmit+0x2d1/0x4d0
[<ffffffff81460052>] sch_direct_xmit+0xf2/0x1c0
[<ffffffff81445c28>] dev_queue_xmit+0x1c8/0x460
[<ffffffff814e3187>] ip6_finish_output2+0x1d7/0x470
[<ffffffff814e34b0>] ip6_finish_output+0x90/0xb0
[<ffffffff814e3507>] ip6_output+0x37/0xb0
[<ffffffff815021eb>] igmp6_send+0x2db/0x470
[<ffffffff81502645>] igmp6_timer_handler+0x95/0xa0
[<ffffffff8104b57c>] call_timer_fn+0x2c/0x90
[<ffffffff8104b7ba>] run_timer_softirq+0x1da/0x1f0
[<ffffffff81045721>] __do_softirq+0xd1/0x1b0
Address gets embedded in a descriptor via virt_to_phys(). See detach_buf,
which frees it:
if (vq->vring.desc[i].flags & VRING_DESC_F_INDIRECT)
kfree(phys_to_virt(vq->vring.desc[i].addr));
Reported-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Fix-suggested-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Typing-done-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2013-10-17 10:55:35 +10:30
..
2013-09-12 11:22:45 -07:00
2013-09-03 18:19:53 -07:00
2013-09-15 22:18:55 -04:00
2013-09-12 15:38:03 -07:00
2013-09-09 14:44:33 -04:00
2013-09-23 15:45:58 +09:30
2013-09-06 13:30:06 -07:00
2013-09-23 15:45:58 +09:30
2013-09-09 15:49:04 -07:00
2013-09-16 16:10:26 -04:00
2013-09-20 00:37:10 +02:00
2013-09-12 11:22:45 -07:00
2013-09-07 12:53:35 +10:00
2013-09-13 15:09:52 +02:00
2013-09-06 11:14:33 -07:00
2013-09-03 11:37:15 -07:00
2013-08-29 22:35:05 +02:00
2013-09-11 15:58:51 -07:00
2013-09-13 15:09:52 +02:00
2013-09-22 19:51:49 -07:00
2013-09-17 21:54:05 -04:00
2013-08-30 12:08:04 -07:00
2013-09-12 08:17:40 -07:00
2013-09-13 15:09:52 +02:00
2013-09-05 15:21:30 -04:00
2013-09-13 15:09:52 +02:00
2013-09-13 15:09:52 +02:00
2013-09-15 07:13:39 -04:00
2013-09-12 11:29:26 -07:00
2013-09-09 16:35:29 -07:00
2013-09-15 22:27:04 -04:00
2013-09-12 11:35:33 -07:00
2013-09-06 08:09:27 +09:30
2013-09-18 12:02:00 -07:00
2013-09-12 15:01:38 -07:00
2013-09-13 15:09:52 +02:00
2013-09-06 13:30:06 -07:00
2013-09-11 15:59:35 -07:00
2013-09-13 15:09:52 +02:00
2013-09-13 15:09:52 +02:00
2013-09-13 15:09:52 +02:00
2013-09-17 09:08:14 -07:00
2013-09-23 15:45:58 +09:30
2013-09-05 11:08:01 -07:00
2013-09-11 19:11:59 -07:00
2013-09-03 22:52:48 -04:00
2013-09-03 16:24:35 -07:00
2013-08-30 12:08:04 -07:00
2013-09-20 00:24:43 +02:00
2013-09-04 17:31:11 -07:00
2013-09-15 17:42:59 -04:00
2013-09-11 15:58:15 -07:00
2013-09-13 15:09:52 +02:00
2013-09-13 15:09:52 +02:00
2013-09-06 13:21:16 -07:00
2013-09-04 17:31:11 -07:00
2013-09-11 15:58:59 -07:00
2013-09-11 15:59:15 -07:00
2013-09-23 15:45:58 +09:30
2013-09-13 15:09:52 +02:00
2013-09-17 10:11:31 +02:00
2013-09-12 16:11:45 -07:00
2013-09-03 09:10:34 -04:00
2013-09-17 21:53:32 -04:00
2013-09-03 11:37:15 -07:00
2013-09-13 10:55:58 -07:00
2013-09-04 11:28:04 -06:00
2013-09-17 22:56:09 +03:00
2013-09-11 19:55:12 -07:00
2013-10-17 10:55:35 +10:30
2013-08-27 21:49:26 -07:00
2013-09-13 15:09:52 +02:00
2013-09-12 08:45:53 -07:00
2013-09-12 11:28:24 -07:00