Skip to contentSkip to conversation

tun: add VNET_LE flag

DISCUSSION Dan Carpenter 2 participants 2 messages Dec 16, 2014 Kernel janitors

lore
Share & tools
lore
#0 lore raw

Hello Michael S. Tsirkin,

The patch e999d6ea2a4f: "tun: add VNET_LE flag" from Nov 18, 2014, leads to the following static checker warning:

	drivers/net/tun.c:1694 tun_set_iff()
	warn: 0x17100 is larger than 16 bits

drivers/net/tun.c
1692
1693 tun->flags = (tun->flags & ~TUN_FEATURES) |
1694 (ifr->ifr_flags & TUN_FEATURES);
1695

It's complaining because the "ifr->ifr_flags" variable is a short (should it be unsigned?). The new define:

#define IFF_VNET_LE 0x10000

doesn't fit in two bytes. Other suspect looking code could be:

	return __virtio16_to_cpu(q->flags & IFF_VNET_LE, val);

regards,
dan carpenter

#1 lore raw
Quoted 17 lines · Dan Carpenter

Hello Michael S. Tsirkin,

The patch e999d6ea2a4f: "tun: add VNET_LE flag" from Nov 18, 2014, leads to the following static checker warning:

	drivers/net/tun.c:1694 tun_set_iff()
	warn: 0x17100 is larger than 16 bits

drivers/net/tun.c
1692
1693 tun->flags = (tun->flags & ~TUN_FEATURES) |
1694 (ifr->ifr_flags & TUN_FEATURES);
1695

It's complaining because the "ifr->ifr_flags" variable is a short (should it be unsigned?). The new define:

Quoted 8 lines

#define IFF_VNET_LE 0x10000

doesn't fit in two bytes. Other suspect looking code could be:

	return __virtio16_to_cpu(q->flags & IFF_VNET_LE, val);

regards,
dan carpenter

Thanks!
Of course most testing is on an LE host so it's hard to notice. I'll fix it up.

Signature · 1 line
MST