linux/drivers/vhost
Jason Wang dc6455a71c vhost: correctly remove wait queue during poll failure
We tried to remove vq poll from wait queue, but do not check whether
or not it was in a list before. This will lead double free. Fixing
this by switching to use vhost_poll_stop() which zeros poll->wqh after
removing poll from waitqueue to make sure it won't be freed twice.

Cc: Darren Kenny <darren.kenny@oracle.com>
Reported-by: syzbot+c0272972b01b872e604a@syzkaller.appspotmail.com
Fixes: 2b8b328b61 ("vhost_net: handle polling errors when setting backend")
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-03-27 13:03:18 -04:00
..
Kconfig tap: tap as an independent module 2017-02-11 20:59:41 -05:00
Kconfig.vringh
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
net.c vhost_net: add missing lock nesting notation 2018-03-26 12:59:01 -04:00
scsi.c vhost: remove unused lock check flag in vhost_dev_cleanup() 2018-02-01 16:26:44 +02:00
test.c vhost: remove unused lock check flag in vhost_dev_cleanup() 2018-02-01 16:26:44 +02:00
test.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vhost.c vhost: correctly remove wait queue during poll failure 2018-03-27 13:03:18 -04:00
vhost.h virtio, vhost: fixes, cleanups, features 2018-02-08 10:41:00 -08:00
vringh.c vringh: kill off ACCESS_ONCE() 2016-12-16 00:13:36 +02:00
vsock.c vhost: remove unused lock check flag in vhost_dev_cleanup() 2018-02-01 16:26:44 +02:00