diff options
-rw-r--r-- | drivers/net/tun.c | 2 | ||||
-rw-r--r-- | include/linux/if_tun.h | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 5db4df46004..46339f6bcd0 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -506,7 +506,7 @@ static int tun_set_iff(struct file *file, struct ifreq *ifr) /* Be promiscuous by default to maintain previous behaviour. */ tun->if_flags = IFF_PROMISC; /* Generate random Ethernet address. */ - *(u16 *)tun->dev_addr = htons(0x00FF); + *(__be16 *)tun->dev_addr = htons(0x00FF); get_random_bytes(tun->dev_addr + sizeof(u16), 4); memset(tun->chr_filter, 0, sizeof tun->chr_filter); diff --git a/include/linux/if_tun.h b/include/linux/if_tun.h index 33e489d5bb3..72f1c5f47be 100644 --- a/include/linux/if_tun.h +++ b/include/linux/if_tun.h @@ -21,6 +21,8 @@ /* Uncomment to enable debugging */ /* #define TUN_DEBUG 1 */ +#include <linux/types.h> + #ifdef __KERNEL__ #ifdef TUN_DEBUG @@ -88,7 +90,7 @@ struct tun_struct { struct tun_pi { unsigned short flags; - unsigned short proto; + __be16 proto; }; #define TUN_PKT_STRIP 0x0001 |