summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/tun.c2
-rw-r--r--include/linux/if_tun.h4
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