Dan Carpenter
2018-Sep-20 10:01 UTC
[PATCH net-next] vhost_net: add a missing error return
We accidentally left out this error return so it leads to some use after
free bugs later on.
Fixes: 0a0be13b8fe2 ("vhost_net: batch submitting XDP buffers to underlayer
sockets")
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index dd4e0a301635..1bff6bc8161a 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -1244,6 +1244,7 @@ static int vhost_net_open(struct inode *inode, struct file
*f)
kfree(vqs);
kvfree(n);
kfree(queue);
+ return -ENOMEM;
}
n->vqs[VHOST_NET_VQ_TX].xdp = xdp;
Michael S. Tsirkin
2018-Sep-20 12:51 UTC
[PATCH net-next] vhost_net: add a missing error return
On Thu, Sep 20, 2018 at 01:01:59PM +0300, Dan Carpenter wrote:> We accidentally left out this error return so it leads to some use after > free bugs later on. > > Fixes: 0a0be13b8fe2 ("vhost_net: batch submitting XDP buffers to underlayer sockets") > Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>Ouch. Acked-by: Michael S. Tsirkin <mst at redhat.com>> > diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c > index dd4e0a301635..1bff6bc8161a 100644 > --- a/drivers/vhost/net.c > +++ b/drivers/vhost/net.c > @@ -1244,6 +1244,7 @@ static int vhost_net_open(struct inode *inode, struct file *f) > kfree(vqs); > kvfree(n); > kfree(queue); > + return -ENOMEM; > } > n->vqs[VHOST_NET_VQ_TX].xdp = xdp; >