On Tue, Jan 23, 2018 at 05:27:26PM +0800, Jason Wang wrote: > The code will try to access dev->iotlb when processing > VHOST_IOTLB_INVALIDATE even if it was not initialized which may lead > to NULL pointer dereference. Fixes this by check dev->iotlb before. > > Fixes: 6b1e6cc7855b0 ("vhost: new device IOTLB API") > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> > --- > drivers/vhost/vhost.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > index 549771a..5727b18 100644 > --- a/drivers/vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -1015,6 +1015,10 @@ static int vhost_process_iotlb_msg(struct vhost_dev *dev, > vhost_iotlb_notify_vq(dev, msg); > break; > case VHOST_IOTLB_INVALIDATE: > + if (!dev->iotlb) { > + ret = -EFAULT; > + break; > + } > vhost_vq_meta_reset(dev); > vhost_del_umem_range(dev->iotlb, msg->iova, > msg->iova + msg->size - 1); > -- > 2.7.4 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization