OSDN Git Service

vhost: fix vhost ioctl signature to build with clang
authorSonny Rao <sonnyrao@chromium.org>
Wed, 14 Mar 2018 17:05:06 +0000 (10:05 -0700)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 20 Mar 2018 01:17:42 +0000 (03:17 +0200)
commit26b36604523f4a681a86e6cbc970ea72a2e9fb8a
treefca51df6464b4ded7cc165b6ff0af386ad316b9b
parent2d6d60a3d3eca50bbb20052278cb11dabcf4dff3
vhost: fix vhost ioctl signature to build with clang

Clang is particularly anal about signed vs unsigned comparisons and
doesn't like the fact that some ioctl numbers set the MSB, so we get
this error when trying to build vhost on aarch64:

drivers/vhost/vhost.c:1400:7: error: overflow converting case value to
 switch condition type (3221794578 to 18446744072636378898)
 [-Werror, -Wswitch]
        case VHOST_GET_VRING_BASE:

3221794578 is 0xC008AF12 in hex
18446744072636378898 is 0xFFFFFFFFC008AF12 in hex

Fix this by using unsigned ints in the function signature for
vhost_vring_ioctl().

Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vhost/vhost.c
drivers/vhost/vhost.h