Tested-by: Eli Cohen <elic@xxxxxxxxxx> > -----Original Message----- > From: Jason Wang <jasowang@xxxxxxxxxx> > Sent: Thursday, March 10, 2022 9:52 AM > To: mst@xxxxxxxxxx > Cc: kvm@xxxxxxxxxxxxxxx; virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Jason Wang > <jasowang@xxxxxxxxxx>; Eli Cohen <elic@xxxxxxxxxx>; Anirudh Rayabharam <mail@xxxxxxxxxxxxx> > Subject: [PATCH] vhost: allow batching hint without size > > Commit e2ae38cf3d91 ("vhost: fix hung thread due to erroneous iotlb > entries") tries to reject the IOTLB message whose size is zero. But > the size is not necessarily meaningful, one example is the batching > hint, so the commit breaks that. > > Fixing this be reject zero size message only if the message is used to > update/invalidate the IOTLB. > > Fixes: e2ae38cf3d91 ("vhost: fix hung thread due to erroneous iotlb entries") > Reported-by: Eli Cohen <elic@xxxxxxxxxx> > Cc: Anirudh Rayabharam <mail@xxxxxxxxxxxxx> > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> > --- > drivers/vhost/vhost.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > index 082380c03a3e..1768362115c6 100644 > --- a/drivers/vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -1170,7 +1170,9 @@ ssize_t vhost_chr_write_iter(struct vhost_dev *dev, > goto done; > } > > - if (msg.size == 0) { > + if ((msg.type == VHOST_IOTLB_UPDATE || > + msg.type == VHOST_IOTLB_INVALIDATE) && > + msg.size == 0) { > ret = -EINVAL; > goto done; > } > -- > 2.18.1