Jason Wang
2019-Feb-15 07:53 UTC
[PATCH net] vhost: correctly check the return value of translate_desc() in log_used()
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 at networkplumber.org> Fixes: cc5e71075947 ("vhost: log dirty page correctly") Signed-off-by: Jason Wang <jasowang at redhat.com> --- 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
Stephen Hemminger
2019-Feb-15 16:45 UTC
[PATCH net] vhost: correctly check the return value of translate_desc() in log_used()
On Fri, 15 Feb 2019 15:53:24 +0800 Jason Wang <jasowang at 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 at networkplumber.org> > Fixes: cc5e71075947 ("vhost: log dirty page correctly") > Signed-off-by: Jason Wang <jasowang at 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.
David Miller
2019-Feb-15 18:03 UTC
[PATCH net] vhost: correctly check the return value of translate_desc() in log_used()
From: Jason Wang <jasowang at 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 at networkplumber.org> > Fixes: cc5e71075947 ("vhost: log dirty page correctly") > Signed-off-by: Jason Wang <jasowang at redhat.com>Jason, please put the Fixes tag first. Thank you.
Michael S. Tsirkin
2019-Feb-15 21:59 UTC
[PATCH net] vhost: correctly check the return value of translate_desc() in log_used()
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 at networkplumber.org> > Fixes: cc5e71075947 ("vhost: log dirty page correctly") > Signed-off-by: Jason Wang <jasowang at redhat.com>Acked-by: Michael S. Tsirkin <mst at 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
Jason Wang
2019-Feb-19 06:50 UTC
[PATCH net] vhost: correctly check the return value of translate_desc() in log_used()
On 2019/2/16 ??2:03, David Miller wrote:> From: Jason Wang<jasowang at 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 at networkplumber.org> >> Fixes: cc5e71075947 ("vhost: log dirty page correctly") >> Signed-off-by: Jason Wang<jasowang at redhat.com> > Jason, please put the Fixes tag first. > > Thank you.Ok. Will post V2. Thanks
Jason Wang
2019-Feb-19 06:51 UTC
[PATCH net] vhost: correctly check the return value of translate_desc() in log_used()
On 2019/2/16 ??12:45, Stephen Hemminger wrote:> On Fri, 15 Feb 2019 15:53:24 +0800 > Jason Wang <jasowang at 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 at networkplumber.org> >> Fixes: cc5e71075947 ("vhost: log dirty page correctly") >> Signed-off-by: Jason Wang <jasowang at 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
Possibly Parallel Threads
- [PATCH net] vhost: correctly check the return value of translate_desc() in log_used()
- [PATCH net V2] vhost: correctly check the return value of translate_desc() in log_used()
- [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed
- [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed
- [PATCH net] vhost: correctly check the return value of translate_desc() in log_used()