Dan Carpenter
2010-Oct-11 17:24 UTC
[patch 2/2] vhost: fix return code for log_access_ok()
access_ok() returns 1 if it's OK otherwise it should return 0. Signed-off-by: Dan Carpenter <error27 at gmail.com> diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index c2aa12c..f82fe57 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -371,7 +371,7 @@ static int log_access_ok(void __user *log_base, u64 addr, unsigned long sz) /* Make sure 64 bit math will not overflow. */ if (a > ULONG_MAX - (unsigned long)log_base || a + (unsigned long)log_base > ULONG_MAX) - return -EFAULT; + return 0; return access_ok(VERIFY_WRITE, log_base + a, (sz + VHOST_PAGE_SIZE * 8 - 1) / VHOST_PAGE_SIZE / 8);
Michael S. Tsirkin
2010-Oct-12 12:28 UTC
[patch 2/2] vhost: fix return code for log_access_ok()
On Mon, Oct 11, 2010 at 07:24:19PM +0200, Dan Carpenter wrote:> access_ok() returns 1 if it's OK otherwise it should return 0. > > Signed-off-by: Dan Carpenter <error27 at gmail.com>Good catch, thanks! Acked-by: Michael S. Tsirkin <mst at redhat.com>> diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c > index c2aa12c..f82fe57 100644 > --- a/drivers/vhost/vhost.c > +++ b/drivers/vhost/vhost.c > @@ -371,7 +371,7 @@ static int log_access_ok(void __user *log_base, u64 addr, unsigned long sz) > /* Make sure 64 bit math will not overflow. */ > if (a > ULONG_MAX - (unsigned long)log_base || > a + (unsigned long)log_base > ULONG_MAX) > - return -EFAULT; > + return 0; > > return access_ok(VERIFY_WRITE, log_base + a, > (sz + VHOST_PAGE_SIZE * 8 - 1) / VHOST_PAGE_SIZE / 8);