All pastes #389617 Raw Edit

tun ey

public text v1 · immutable
·published 2007-03-10 21:18 UTC
rendered paste body
--- linux-2.6.18-gentoo-r4-old/driver/net/tun.c	2007-03-10 22:15:57.000000000 +0100
+++ linux-2.6.18-gentoo-r4/drivers/net/tun.c	2006-12-28 14:04:22.000000000 +0100
@@ -521,6 +521,7 @@
 		*(u16 *)tun->dev_addr = htons(0x00FF);
 		get_random_bytes(tun->dev_addr + sizeof(u16), 4);
 		memset(tun->chr_filter, 0, sizeof tun->chr_filter);
+		memcpy(dev->dev_addr,tun->dev_addr,6);
 
 		tun_net_init(dev);
 
@@ -663,6 +664,8 @@
 		/** Set the character device's hardware address. This is used when
 		 * filtering packets being sent from the network device to the character
 		 * device. */
+		memcpy(tun->dev->dev_addr, ifr.ifr_hwaddr.sa_data,
+				min(sizeof ifr.ifr_hwaddr.sa_data, sizeof tun->dev_addr));
 		memcpy(tun->dev_addr, ifr.ifr_hwaddr.sa_data,
 				min(sizeof ifr.ifr_hwaddr.sa_data, sizeof tun->dev_addr));
 		DBG(KERN_DEBUG "%s: set hardware address: %x:%x:%x:%x:%x:%x\n",