Message ID | 20190215075324.18891-1-jasowang@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [net] vhost: correctly check the return value of translate_desc() in log_used() | expand |
On Fri, 15 Feb 2019 15:53:24 +0800 Jason Wang <jasowang@redhat.com> wrote: > When fail, translate_desc() returns negative value, otherwise the > number of iovs. So we should fail when the return value is negative > instead of a blindly check against zero. > > Reported-by: Stephen Hemminger <stephen@networkplumber.org> > Fixes: cc5e71075947 ("vhost: log dirty page correctly") > Signed-off-by: Jason Wang <jasowang@redhat.com> Looks good. It is best to put the Addresses-Coverity-Id tag on these kind of bug fixes so that the automated tools see it.
From: Jason Wang <jasowang@redhat.com> Date: Fri, 15 Feb 2019 15:53:24 +0800 > When fail, translate_desc() returns negative value, otherwise the > number of iovs. So we should fail when the return value is negative > instead of a blindly check against zero. > > Reported-by: Stephen Hemminger <stephen@networkplumber.org> > Fixes: cc5e71075947 ("vhost: log dirty page correctly") > Signed-off-by: Jason Wang <jasowang@redhat.com> Jason, please put the Fixes tag first. Thank you.
On Fri, Feb 15, 2019 at 03:53:24PM +0800, Jason Wang wrote: > When fail, translate_desc() returns negative value, otherwise the > number of iovs. So we should fail when the return value is negative > instead of a blindly check against zero. > > Reported-by: Stephen Hemminger <stephen@networkplumber.org> > Fixes: cc5e71075947 ("vhost: log dirty page correctly") > Signed-off-by: Jason Wang <jasowang@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> and I guess the log was backported to stable so we want this backported too. > --- > drivers/vhost/vhost.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > index 24a129fcdd61..a2e5dc7716e2 100644 > --- a/drivers/vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -1788,7 +1788,7 @@ static int log_used(struct vhost_virtqueue *vq, u64 used_offset, u64 len) > > ret = translate_desc(vq, (uintptr_t)vq->used + used_offset, > len, iov, 64, VHOST_ACCESS_WO); > - if (ret) > + if (ret < 0) > return ret; > > for (i = 0; i < ret; i++) { > -- > 2.17.1
On 2019/2/16 上午2:03, David Miller wrote: > From: Jason Wang<jasowang@redhat.com> > Date: Fri, 15 Feb 2019 15:53:24 +0800 > >> When fail, translate_desc() returns negative value, otherwise the >> number of iovs. So we should fail when the return value is negative >> instead of a blindly check against zero. >> >> Reported-by: Stephen Hemminger<stephen@networkplumber.org> >> Fixes: cc5e71075947 ("vhost: log dirty page correctly") >> Signed-off-by: Jason Wang<jasowang@redhat.com> > Jason, please put the Fixes tag first. > > Thank you. Ok. Will post V2. Thanks
On 2019/2/16 上午12:45, Stephen Hemminger wrote: > On Fri, 15 Feb 2019 15:53:24 +0800 > Jason Wang <jasowang@redhat.com> wrote: > >> When fail, translate_desc() returns negative value, otherwise the >> number of iovs. So we should fail when the return value is negative >> instead of a blindly check against zero. >> >> Reported-by: Stephen Hemminger <stephen@networkplumber.org> >> Fixes: cc5e71075947 ("vhost: log dirty page correctly") >> Signed-off-by: Jason Wang <jasowang@redhat.com> > Looks good. It is best to put the Addresses-Coverity-Id tag on these kind > of bug fixes so that the automated tools see it. Ok. Will do this in V2. Thanks
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 24a129fcdd61..a2e5dc7716e2 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -1788,7 +1788,7 @@ static int log_used(struct vhost_virtqueue *vq, u64 used_offset, u64 len) ret = translate_desc(vq, (uintptr_t)vq->used + used_offset, len, iov, 64, VHOST_ACCESS_WO); - if (ret) + if (ret < 0) return ret; for (i = 0; i < ret; i++) {
When fail, translate_desc() returns negative value, otherwise the number of iovs. So we should fail when the return value is negative instead of a blindly check against zero. Reported-by: Stephen Hemminger <stephen@networkplumber.org> Fixes: cc5e71075947 ("vhost: log dirty page correctly") Signed-off-by: Jason Wang <jasowang@redhat.com> --- drivers/vhost/vhost.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)