From a984b51f5b24235284d7ea0ee86c111bf67d2fdc Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Mon, 29 Nov 2010 10:22:10 +0200 Subject: [PATCH] --- yaml --- r: 225158 b: refs/heads/master c: 28831ee60b79bed50958c9cb0d2e76cdc98406f9 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/vhost/vhost.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index b6f38ddfce88..8b2f49595c61 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3bf9be40ff76b6df136f14a497167c116b2b3c53 +refs/heads/master: 28831ee60b79bed50958c9cb0d2e76cdc98406f9 diff --git a/trunk/drivers/vhost/vhost.c b/trunk/drivers/vhost/vhost.c index 4c256d15c249..38244f59cdd9 100644 --- a/trunk/drivers/vhost/vhost.c +++ b/trunk/drivers/vhost/vhost.c @@ -882,15 +882,15 @@ static int set_bit_to_user(int nr, void __user *addr) static int log_write(void __user *log_base, u64 write_address, u64 write_length) { + u64 write_page = write_address / VHOST_PAGE_SIZE; int r; if (!write_length) return 0; write_length += write_address % VHOST_PAGE_SIZE; - write_address /= VHOST_PAGE_SIZE; for (;;) { u64 base = (u64)(unsigned long)log_base; - u64 log = base + write_address / 8; - int bit = write_address % 8; + u64 log = base + write_page / 8; + int bit = write_page % 8; if ((u64)(unsigned long)log != log) return -EFAULT; r = set_bit_to_user(bit, (void __user *)(unsigned long)log); @@ -899,7 +899,7 @@ static int log_write(void __user *log_base, if (write_length <= VHOST_PAGE_SIZE) break; write_length -= VHOST_PAGE_SIZE; - write_address += 1; + write_page += 1; } return r; }