Building vhost on 32-bit targets results in the following error.

drivers/vhost/vhost.c: In function 'translate_desc':
include/linux/compiler.h:549:38: error:
        call to '__compiletime_assert_1879' declared with attribute error:
        BUILD_BUG_ON failed: sizeof(_s) > sizeof(long)

Fixes: a89db445fbd7 ("vhost: block speculation of translated descriptors")
Cc: Michael S. Tsirkin <m...@redhat.com>
Cc: Jason Wang <jasow...@redhat.com>
Signed-off-by: Guenter Roeck <li...@roeck-us.net>
---
 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 acabf20b069e..102a0c877007 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -2074,7 +2074,7 @@ static int translate_desc(struct vhost_virtqueue *vq, u64 
addr, u32 len,
                _iov->iov_base = (void __user *)
                        ((unsigned long)node->userspace_addr +
                         array_index_nospec((unsigned long)(addr - node->start),
-                                           node->size));
+                                           (unsigned long)node->size));
                s += size;
                addr += size;
                ++ret;
-- 
2.7.4

Reply via email to