* [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed
@ 2019-02-19 13:57 Colin King
2019-02-19 16:35 ` Michael S. Tsirkin
2019-02-19 16:35 ` [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed Michael S. Tsirkin
0 siblings, 2 replies; 7+ messages in thread
From: Colin King @ 2019-02-19 13:57 UTC (permalink / raw)
To: Michael S . Tsirkin, Jason Wang, kvm, virtualization, netdev
Cc: kernel-janitors, linux-kernel
From: Colin Ian King <colin.king@canonical.com>
Currently the loop that calls log_write_hva on each iovec is never
executed because of an incorrect error check on the return from the
call to translate_desc. The check should be checking for a -ve error
return and because it makes no sense to iterate over zero items, the
checks should also check for zero too.
Detected by CoverityScan, CID#1476969 ("Logically dead code")
Fixes: cc5e71075947 ("vhost: log dirty page correctly")
Signed-off-by: Colin Ian King <colin.king@canonical.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..a9a1709a859a 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.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processe
2019-02-19 13:57 [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed Colin King
@ 2019-02-19 16:35 ` Michael S. Tsirkin
2019-02-19 16:35 ` [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed Michael S. Tsirkin
1 sibling, 0 replies; 7+ messages in thread
From: Michael S. Tsirkin @ 2019-02-19 16:35 UTC (permalink / raw)
To: Colin King
Cc: Jason Wang, kvm, virtualization, netdev, kernel-janitors,
linux-kernel
On Tue, Feb 19, 2019 at 01:57:13PM +0000, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> Currently the loop that calls log_write_hva on each iovec is never
> executed because of an incorrect error check on the return from the
> call to translate_desc. The check should be checking for a -ve error
> return and because it makes no sense to iterate over zero items, the
> checks should also check for zero too.
>
> Detected by CoverityScan, CID#1476969 ("Logically dead code")
>
> Fixes: cc5e71075947 ("vhost: log dirty page correctly")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
Jason posted a similar patch recently.
Are you happy with that one?
> ---
> 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..a9a1709a859a 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.20.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed
2019-02-19 13:57 [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed Colin King
@ 2019-02-19 16:35 ` Michael S. Tsirkin
2019-02-19 16:35 ` [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed Michael S. Tsirkin
1 sibling, 0 replies; 7+ messages in thread
From: Michael S. Tsirkin @ 2019-02-19 16:35 UTC (permalink / raw)
To: Colin King; +Cc: kvm, netdev, kernel-janitors, linux-kernel, virtualization
On Tue, Feb 19, 2019 at 01:57:13PM +0000, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> Currently the loop that calls log_write_hva on each iovec is never
> executed because of an incorrect error check on the return from the
> call to translate_desc. The check should be checking for a -ve error
> return and because it makes no sense to iterate over zero items, the
> checks should also check for zero too.
>
> Detected by CoverityScan, CID#1476969 ("Logically dead code")
>
> Fixes: cc5e71075947 ("vhost: log dirty page correctly")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
Jason posted a similar patch recently.
Are you happy with that one?
> ---
> 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..a9a1709a859a 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.20.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed
@ 2019-02-19 16:35 ` Michael S. Tsirkin
0 siblings, 0 replies; 7+ messages in thread
From: Michael S. Tsirkin @ 2019-02-19 16:35 UTC (permalink / raw)
To: Colin King
Cc: Jason Wang, kvm, virtualization, netdev, kernel-janitors,
linux-kernel
On Tue, Feb 19, 2019 at 01:57:13PM +0000, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> Currently the loop that calls log_write_hva on each iovec is never
> executed because of an incorrect error check on the return from the
> call to translate_desc. The check should be checking for a -ve error
> return and because it makes no sense to iterate over zero items, the
> checks should also check for zero too.
>
> Detected by CoverityScan, CID#1476969 ("Logically dead code")
>
> Fixes: cc5e71075947 ("vhost: log dirty page correctly")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
Jason posted a similar patch recently.
Are you happy with that one?
> ---
> 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..a9a1709a859a 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.20.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processe
2019-02-19 16:35 ` [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed Michael S. Tsirkin
@ 2019-02-19 16:40 ` Colin Ian King
-1 siblings, 0 replies; 7+ messages in thread
From: Colin Ian King @ 2019-02-19 16:40 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Jason Wang, kvm, virtualization, netdev, kernel-janitors,
linux-kernel
On 19/02/2019 16:35, Michael S. Tsirkin wrote:
> On Tue, Feb 19, 2019 at 01:57:13PM +0000, Colin King wrote:
>> From: Colin Ian King <colin.king@canonical.com>
>>
>> Currently the loop that calls log_write_hva on each iovec is never
>> executed because of an incorrect error check on the return from the
>> call to translate_desc. The check should be checking for a -ve error
>> return and because it makes no sense to iterate over zero items, the
>> checks should also check for zero too.
>>
>> Detected by CoverityScan, CID#1476969 ("Logically dead code")
>>
>> Fixes: cc5e71075947 ("vhost: log dirty page correctly")
>> Signed-off-by: Colin Ian King <colin.king@canonical.com>
>
> Jason posted a similar patch recently.
>
> Are you happy with that one?
Sure, ignore mine, I was late to the party.
>
>> ---
>> 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..a9a1709a859a 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.20.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed
2019-02-19 16:35 ` [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed Michael S. Tsirkin
(?)
@ 2019-02-19 16:40 ` Colin Ian King
-1 siblings, 0 replies; 7+ messages in thread
From: Colin Ian King @ 2019-02-19 16:40 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: kvm, netdev, kernel-janitors, linux-kernel, virtualization
On 19/02/2019 16:35, Michael S. Tsirkin wrote:
> On Tue, Feb 19, 2019 at 01:57:13PM +0000, Colin King wrote:
>> From: Colin Ian King <colin.king@canonical.com>
>>
>> Currently the loop that calls log_write_hva on each iovec is never
>> executed because of an incorrect error check on the return from the
>> call to translate_desc. The check should be checking for a -ve error
>> return and because it makes no sense to iterate over zero items, the
>> checks should also check for zero too.
>>
>> Detected by CoverityScan, CID#1476969 ("Logically dead code")
>>
>> Fixes: cc5e71075947 ("vhost: log dirty page correctly")
>> Signed-off-by: Colin Ian King <colin.king@canonical.com>
>
> Jason posted a similar patch recently.
>
> Are you happy with that one?
Sure, ignore mine, I was late to the party.
>
>> ---
>> 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..a9a1709a859a 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.20.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed
@ 2019-02-19 16:40 ` Colin Ian King
0 siblings, 0 replies; 7+ messages in thread
From: Colin Ian King @ 2019-02-19 16:40 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Jason Wang, kvm, virtualization, netdev, kernel-janitors,
linux-kernel
On 19/02/2019 16:35, Michael S. Tsirkin wrote:
> On Tue, Feb 19, 2019 at 01:57:13PM +0000, Colin King wrote:
>> From: Colin Ian King <colin.king@canonical.com>
>>
>> Currently the loop that calls log_write_hva on each iovec is never
>> executed because of an incorrect error check on the return from the
>> call to translate_desc. The check should be checking for a -ve error
>> return and because it makes no sense to iterate over zero items, the
>> checks should also check for zero too.
>>
>> Detected by CoverityScan, CID#1476969 ("Logically dead code")
>>
>> Fixes: cc5e71075947 ("vhost: log dirty page correctly")
>> Signed-off-by: Colin Ian King <colin.king@canonical.com>
>
> Jason posted a similar patch recently.
>
> Are you happy with that one?
Sure, ignore mine, I was late to the party.
>
>> ---
>> 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..a9a1709a859a 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.20.1
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-02-19 16:40 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-19 13:57 [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed Colin King
2019-02-19 16:35 ` Michael S. Tsirkin
2019-02-19 16:35 ` [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processe Michael S. Tsirkin
2019-02-19 16:35 ` [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed Michael S. Tsirkin
2019-02-19 16:40 ` Colin Ian King
2019-02-19 16:40 ` [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processe Colin Ian King
2019-02-19 16:40 ` [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed Colin Ian King
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.