search for: vhost_net_ubuf_alloc

Displaying 20 results from an estimated 36 matches for "vhost_net_ubuf_alloc".

2019 Jun 13
2
memory leak in vhost_net_ioctl
...slab_post_alloc_hook mm/slab.h:439 [inline] [<00000000ae0c4ae0>] slab_alloc mm/slab.c:3326 [inline] [<00000000ae0c4ae0>] kmem_cache_alloc_trace+0x13d/0x280 mm/slab.c:3553 [<0000000079ebab38>] kmalloc include/linux/slab.h:547 [inline] [<0000000079ebab38>] vhost_net_ubuf_alloc drivers/vhost/net.c:241 [inline] [<0000000079ebab38>] vhost_net_set_backend drivers/vhost/net.c:1534 [inline] [<0000000079ebab38>] vhost_net_ioctl+0xb43/0xc10 drivers/vhost/net.c:1716 [<000000009f6204a2>] vfs_ioctl fs/ioctl.c:46 [inline] [<000000009f6204a2&g...
2019 Jun 13
2
memory leak in vhost_net_ioctl
...slab_post_alloc_hook mm/slab.h:439 [inline] [<00000000ae0c4ae0>] slab_alloc mm/slab.c:3326 [inline] [<00000000ae0c4ae0>] kmem_cache_alloc_trace+0x13d/0x280 mm/slab.c:3553 [<0000000079ebab38>] kmalloc include/linux/slab.h:547 [inline] [<0000000079ebab38>] vhost_net_ubuf_alloc drivers/vhost/net.c:241 [inline] [<0000000079ebab38>] vhost_net_set_backend drivers/vhost/net.c:1534 [inline] [<0000000079ebab38>] vhost_net_ioctl+0xb43/0xc10 drivers/vhost/net.c:1716 [<000000009f6204a2>] vfs_ioctl fs/ioctl.c:46 [inline] [<000000009f6204a2&g...
2019 Jun 14
2
memory leak in vhost_net_ioctl
...k mm/slab.h:439 [inline] > [<000000006c752978>] slab_alloc mm/slab.c:3326 [inline] > [<000000006c752978>] kmem_cache_alloc_trace+0x13d/0x280 mm/slab.c:3553 > [<00000000b3825d52>] kmalloc include/linux/slab.h:547 [inline] > [<00000000b3825d52>] vhost_net_ubuf_alloc drivers/vhost/net.c:241 [inline] > [<00000000b3825d52>] vhost_net_set_backend drivers/vhost/net.c:1535 [inline] > [<00000000b3825d52>] vhost_net_ioctl+0xb43/0xc10 drivers/vhost/net.c:1717 > [<00000000700f02d7>] vfs_ioctl fs/ioctl.c:46 [inline] > [&l...
2019 Jun 14
2
memory leak in vhost_net_ioctl
...k mm/slab.h:439 [inline] > [<000000006c752978>] slab_alloc mm/slab.c:3326 [inline] > [<000000006c752978>] kmem_cache_alloc_trace+0x13d/0x280 mm/slab.c:3553 > [<00000000b3825d52>] kmalloc include/linux/slab.h:547 [inline] > [<00000000b3825d52>] vhost_net_ubuf_alloc drivers/vhost/net.c:241 [inline] > [<00000000b3825d52>] vhost_net_set_backend drivers/vhost/net.c:1535 [inline] > [<00000000b3825d52>] vhost_net_ioctl+0xb43/0xc10 drivers/vhost/net.c:1717 > [<00000000700f02d7>] vfs_ioctl fs/ioctl.c:46 [inline] > [&l...
2014 Feb 13
2
[PATCH net v2] vhost: fix ref cnt checking deadlock
...py(int vq) vhost_net_zcopy_mask |= 0x1 << vq; } -static void vhost_net_zerocopy_done_signal(struct kref *kref) -{ - struct vhost_net_ubuf_ref *ubufs; - - ubufs = container_of(kref, struct vhost_net_ubuf_ref, kref); - wake_up(&ubufs->wait); -} - static struct vhost_net_ubuf_ref * vhost_net_ubuf_alloc(struct vhost_virtqueue *vq, bool zcopy) { @@ -134,21 +131,24 @@ vhost_net_ubuf_alloc(struct vhost_virtqueue *vq, bool zcopy) ubufs = kmalloc(sizeof(*ubufs), GFP_KERNEL); if (!ubufs) return ERR_PTR(-ENOMEM); - kref_init(&ubufs->kref); + atomic_set(&ubufs->refcount, 1); init_w...
2014 Feb 13
2
[PATCH net v2] vhost: fix ref cnt checking deadlock
...py(int vq) vhost_net_zcopy_mask |= 0x1 << vq; } -static void vhost_net_zerocopy_done_signal(struct kref *kref) -{ - struct vhost_net_ubuf_ref *ubufs; - - ubufs = container_of(kref, struct vhost_net_ubuf_ref, kref); - wake_up(&ubufs->wait); -} - static struct vhost_net_ubuf_ref * vhost_net_ubuf_alloc(struct vhost_virtqueue *vq, bool zcopy) { @@ -134,21 +131,24 @@ vhost_net_ubuf_alloc(struct vhost_virtqueue *vq, bool zcopy) ubufs = kmalloc(sizeof(*ubufs), GFP_KERNEL); if (!ubufs) return ERR_PTR(-ENOMEM); - kref_init(&ubufs->kref); + atomic_set(&ubufs->refcount, 1); init_w...
2019 Jun 13
0
memory leak in vhost_net_ioctl
...k mm/slab.h:439 [inline] > [<00000000ae0c4ae0>] slab_alloc mm/slab.c:3326 [inline] > [<00000000ae0c4ae0>] kmem_cache_alloc_trace+0x13d/0x280 mm/slab.c:3553 > [<0000000079ebab38>] kmalloc include/linux/slab.h:547 [inline] > [<0000000079ebab38>] vhost_net_ubuf_alloc drivers/vhost/net.c:241 [inline] > [<0000000079ebab38>] vhost_net_set_backend drivers/vhost/net.c:1534 [inline] > [<0000000079ebab38>] vhost_net_ioctl+0xb43/0xc10 drivers/vhost/net.c:1716 > [<000000009f6204a2>] vfs_ioctl fs/ioctl.c:46 [inline] > [&l...
2019 Jun 06
1
memory leak in vhost_net_ioctl
...k mm/slab.h:439 [inline] > [<00000000ae0c4ae0>] slab_alloc mm/slab.c:3326 [inline] > [<00000000ae0c4ae0>] kmem_cache_alloc_trace+0x13d/0x280 mm/slab.c:3553 > [<0000000079ebab38>] kmalloc include/linux/slab.h:547 [inline] > [<0000000079ebab38>] vhost_net_ubuf_alloc drivers/vhost/net.c:241 [inline] > [<0000000079ebab38>] vhost_net_set_backend drivers/vhost/net.c:1534 [inline] > [<0000000079ebab38>] vhost_net_ioctl+0xb43/0xc10 drivers/vhost/net.c:1716 > [<000000009f6204a2>] vfs_ioctl fs/ioctl.c:46 [inline] > [&l...
2019 Jun 06
1
memory leak in vhost_net_ioctl
...k mm/slab.h:439 [inline] > [<00000000ae0c4ae0>] slab_alloc mm/slab.c:3326 [inline] > [<00000000ae0c4ae0>] kmem_cache_alloc_trace+0x13d/0x280 mm/slab.c:3553 > [<0000000079ebab38>] kmalloc include/linux/slab.h:547 [inline] > [<0000000079ebab38>] vhost_net_ubuf_alloc drivers/vhost/net.c:241 [inline] > [<0000000079ebab38>] vhost_net_set_backend drivers/vhost/net.c:1534 [inline] > [<0000000079ebab38>] vhost_net_ioctl+0xb43/0xc10 drivers/vhost/net.c:1716 > [<000000009f6204a2>] vfs_ioctl fs/ioctl.c:46 [inline] > [&l...
2019 Jun 05
0
memory leak in vhost_net_ioctl
...slab_post_alloc_hook mm/slab.h:439 [inline] [<00000000ae0c4ae0>] slab_alloc mm/slab.c:3326 [inline] [<00000000ae0c4ae0>] kmem_cache_alloc_trace+0x13d/0x280 mm/slab.c:3553 [<0000000079ebab38>] kmalloc include/linux/slab.h:547 [inline] [<0000000079ebab38>] vhost_net_ubuf_alloc drivers/vhost/net.c:241 [inline] [<0000000079ebab38>] vhost_net_set_backend drivers/vhost/net.c:1534 [inline] [<0000000079ebab38>] vhost_net_ioctl+0xb43/0xc10 drivers/vhost/net.c:1716 [<000000009f6204a2>] vfs_ioctl fs/ioctl.c:46 [inline] [<000000009f62...
2019 Jun 13
0
memory leak in vhost_net_ioctl
...gt;> ???? [<00000000ae0c4ae0>] slab_alloc mm/slab.c:3326 [inline] >> ???? [<00000000ae0c4ae0>] kmem_cache_alloc_trace+0x13d/0x280 >> mm/slab.c:3553 >> ???? [<0000000079ebab38>] kmalloc include/linux/slab.h:547 [inline] >> ???? [<0000000079ebab38>] vhost_net_ubuf_alloc >> drivers/vhost/net.c:241 [inline] >> ???? [<0000000079ebab38>] vhost_net_set_backend >> drivers/vhost/net.c:1534 [inline] >> ???? [<0000000079ebab38>] vhost_net_ioctl+0xb43/0xc10 >> drivers/vhost/net.c:1716 >> ???? [<000000009f6204a2>] vfs_...
2017 Jan 26
2
[BUG/RFC] vhost: net: big endian viring access despite virtio 1
...sock = get_socket(fd); /* fd == -1 --> sock == NULL */ if (IS_ERR(sock)) { r = PTR_ERR(sock); goto err_vq; } /* start polling new socket */ oldsock = vq->private_data; if (sock != oldsock) { ubufs = vhost_net_ubuf_alloc(vq, sock && vhost_sock_zcopy(sock)); if (IS_ERR(ubufs)) { r = PTR_ERR(ubufs); goto err_ubufs; } vhost_net_disable_vq(n, vq); ==> vq-&g...
2017 Jan 26
2
[BUG/RFC] vhost: net: big endian viring access despite virtio 1
...sock = get_socket(fd); /* fd == -1 --> sock == NULL */ if (IS_ERR(sock)) { r = PTR_ERR(sock); goto err_vq; } /* start polling new socket */ oldsock = vq->private_data; if (sock != oldsock) { ubufs = vhost_net_ubuf_alloc(vq, sock && vhost_sock_zcopy(sock)); if (IS_ERR(ubufs)) { r = PTR_ERR(ubufs); goto err_ubufs; } vhost_net_disable_vq(n, vq); ==> vq-&g...
2020 Feb 13
0
vhost changes (batched) in linux-next after 12/13 trigger random crashes in KVM guests after reboot
...ocket err r=%d", index, fd, r); > goto err_vq; > } > > /* start polling new socket */ > oldsock = vq->private_data; > if (sock != oldsock) { > + pr_debug("sock=%p != oldsock=%p index=%u fd=%d vq=%p", sock, oldsock, index, fd, vq); > ubufs = vhost_net_ubuf_alloc(vq, > sock && vhost_sock_zcopy(sock)); > if (IS_ERR(ubufs)) { > r = PTR_ERR(ubufs); > + pr_debug("ubufs index=%u fd=%d err r=%d vq=%p", index, fd, r, vq); > goto err_ubufs; > } > > @@ -1541,11 +1548,15 @@ static long vhost_net_s...
2017 Jan 26
0
[BUG/RFC] vhost: net: big endian viring access despite virtio 1
...t; sock == NULL */ > if (IS_ERR(sock)) { > r = PTR_ERR(sock); > goto err_vq; > } > > /* start polling new socket */ > oldsock = vq->private_data; > if (sock != oldsock) { > ubufs = vhost_net_ubuf_alloc(vq, > sock && vhost_sock_zcopy(sock)); > if (IS_ERR(ubufs)) { > r = PTR_ERR(ubufs); > goto err_ubufs; > } > > vhost_net_disable_...
2020 Feb 14
0
vhost changes (batched) in linux-next after 12/13 trigger random crashes in KVM guests after reboot
...ocket err r=%d", index, fd, r); > goto err_vq; > } > > /* start polling new socket */ > oldsock = vq->private_data; > if (sock != oldsock) { > + pr_debug("sock=%p != oldsock=%p index=%u fd=%d vq=%p", sock, oldsock, index, fd, vq); > ubufs = vhost_net_ubuf_alloc(vq, > sock && vhost_sock_zcopy(sock)); > if (IS_ERR(ubufs)) { > r = PTR_ERR(ubufs); > + pr_debug("ubufs index=%u fd=%d err r=%d vq=%p", index, fd, r, vq); > goto err_ubufs; > } > > @@ -1541,11 +1548,15 @@ static long vhost_net_s...
2014 Feb 12
4
[PATCH net 0/3] vhost fixes for 3.14, -stable
This fixes a deadlock with vhost reported in the field, as well as a theoretical race issue found by code review. Patches 1+2 are needed for stable. Thanks to Qin Chuanyu for reporting the issue! Michael S. Tsirkin (3): kref: add kref_sub_return vhost: fix ref cnt checking deadlock vhost: fix a theoretical race in device cleanup include/linux/kref.h | 33
2014 Feb 12
4
[PATCH net 0/3] vhost fixes for 3.14, -stable
This fixes a deadlock with vhost reported in the field, as well as a theoretical race issue found by code review. Patches 1+2 are needed for stable. Thanks to Qin Chuanyu for reporting the issue! Michael S. Tsirkin (3): kref: add kref_sub_return vhost: fix ref cnt checking deadlock vhost: fix a theoretical race in device cleanup include/linux/kref.h | 33
2020 Feb 14
0
vhost changes (batched) in linux-next after 12/13 trigger random crashes in KVM guests after reboot
...>>> /* start polling new socket */ >>> oldsock = vq->private_data; >>> if (sock != oldsock) { >>> + pr_debug("sock=%p != oldsock=%p index=%u fd=%d vq=%p", sock, oldsock, index, fd, vq); >>> ubufs = vhost_net_ubuf_alloc(vq, >>> sock && vhost_sock_zcopy(sock)); >>> if (IS_ERR(ubufs)) { >>> r = PTR_ERR(ubufs); >>> + pr_debug("ubufs index=%u fd=%d err r=%d vq=%p", in...
2013 May 07
5
[PATCH 0/4] vhost private_data rcu removal
Asias He (4): vhost-net: Always access vq->private_data under vq mutex vhost-test: Always access vq->private_data under vq mutex vhost-scsi: Always access vq->private_data under vq mutex vhost: Remove custom vhost rcu usage drivers/vhost/net.c | 37 ++++++++++++++++--------------------- drivers/vhost/scsi.c | 17 ++++++----------- drivers/vhost/test.c | 20