lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <4145121c-83b8-e4a4-6c95-ee0151ac70c0@canonical.com> Date: Tue, 19 Feb 2019 16:40:45 +0000 From: Colin Ian King <colin.king@...onical.com> To: "Michael S. Tsirkin" <mst@...hat.com> Cc: Jason Wang <jasowang@...hat.com>, kvm@...r.kernel.org, virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org, kernel-janitors@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH][next] vhost: only return early if ret indicates an error or no iovecs have been processed 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@...onical.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@...onical.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
Powered by blists - more mailing lists