examples/netmap_compat: fix overflow in ioctl operation
authorOlivier Matz <olivier.matz@6wind.com>
Wed, 17 Dec 2014 12:55:23 +0000 (13:55 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 17 Dec 2014 23:26:08 +0000 (00:26 +0100)
Compiling the netmap example with clang-3.5 triggered the following
warning:

  compat_netmap.c:783:11: error: overflow converting case value to
    switch condition type (3225184658 to 18446744072639768978)
    [-Werror,-Wswitch]
              case NIOCREGIF:
                 ^
Indeed, an ioctl value should be an unsigned 32 bits, not an int.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
examples/netmap_compat/lib/compat_netmap.c
examples/netmap_compat/lib/compat_netmap.h

index 6a4737a..1d86ef0 100644 (file)
@@ -765,7 +765,7 @@ rte_netmap_close(__rte_unused int fd)
        return (rc);
 }
 
-int rte_netmap_ioctl(int fd, int op, void *param)
+int rte_netmap_ioctl(int fd, uint32_t op, void *param)
 {
        int ret;
 
index f8a7812..3dc7a2f 100644 (file)
@@ -71,7 +71,7 @@ int rte_netmap_init_port(uint8_t portid,
        const struct rte_netmap_port_conf *conf);
 
 int rte_netmap_close(int fd);
-int rte_netmap_ioctl(int fd, int op, void *param);
+int rte_netmap_ioctl(int fd, uint32_t op, void *param);
 int rte_netmap_open(const char *pathname, int flags);
 int rte_netmap_poll(struct pollfd *fds, nfds_t nfds, int timeout);
 void *rte_netmap_mmap(void *addr, size_t length, int prot, int flags, int fd,