Message ID | 1624361873-6097-1-git-send-email-neeraju@codeaurora.org |
---|---|
State | Superseded |
Headers | show |
Series | vringh: Use wiov->used to check for read/write desc order | expand |
在 2021/6/22 下午7:37, Neeraj Upadhyay 写道: > As iov->used is incremented when descriptors are processed > in __vringh_iov(), use it to check for incorrect read > and write descriptor order. > > Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org> Acked-by: Jason Wang <jasowang@redhat.com> > --- > drivers/vhost/vringh.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c > index 4af8fa2..14e2043 100644 > --- a/drivers/vhost/vringh.c > +++ b/drivers/vhost/vringh.c > @@ -359,7 +359,7 @@ __vringh_iov(struct vringh *vrh, u16 i, > iov = wiov; > else { > iov = riov; > - if (unlikely(wiov && wiov->i)) { > + if (unlikely(wiov && wiov->used)) { > vringh_bad("Readable desc %p after writable", > &descs[i]); > err = -EINVAL;
On Tue, Jun 22, 2021 at 05:07:53PM +0530, Neeraj Upadhyay wrote: >As iov->used is incremented when descriptors are processed >in __vringh_iov(), use it to check for incorrect read >and write descriptor order. > >Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org> >--- > drivers/vhost/vringh.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> > >diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c >index 4af8fa2..14e2043 100644 >--- a/drivers/vhost/vringh.c >+++ b/drivers/vhost/vringh.c >@@ -359,7 +359,7 @@ __vringh_iov(struct vringh *vrh, u16 i, > iov = wiov; > else { > iov = riov; >- if (unlikely(wiov && wiov->i)) { >+ if (unlikely(wiov && wiov->used)) { > vringh_bad("Readable desc %p after writable", > &descs[i]); > err = -EINVAL; >-- >QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, >hosted by The Linux Foundation >
On Tue, Jun 22, 2021 at 05:07:53PM +0530, Neeraj Upadhyay wrote: > As iov->used is incremented when descriptors are processed > in __vringh_iov(), use it to check for incorrect read > and write descriptor order. Could the commit log be clearer? why is wiov->i incorrect here? > Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org> > --- > drivers/vhost/vringh.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c > index 4af8fa2..14e2043 100644 > --- a/drivers/vhost/vringh.c > +++ b/drivers/vhost/vringh.c > @@ -359,7 +359,7 @@ __vringh_iov(struct vringh *vrh, u16 i, > iov = wiov; > else { > iov = riov; > - if (unlikely(wiov && wiov->i)) { > + if (unlikely(wiov && wiov->used)) { > vringh_bad("Readable desc %p after writable", > &descs[i]); > err = -EINVAL; > -- > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > hosted by The Linux Foundation
diff --git a/drivers/vhost/vringh.c b/drivers/vhost/vringh.c index 4af8fa2..14e2043 100644 --- a/drivers/vhost/vringh.c +++ b/drivers/vhost/vringh.c @@ -359,7 +359,7 @@ __vringh_iov(struct vringh *vrh, u16 i, iov = wiov; else { iov = riov; - if (unlikely(wiov && wiov->i)) { + if (unlikely(wiov && wiov->used)) { vringh_bad("Readable desc %p after writable", &descs[i]); err = -EINVAL;
As iov->used is incremented when descriptors are processed in __vringh_iov(), use it to check for incorrect read and write descriptor order. Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org> --- drivers/vhost/vringh.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)