[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090114.145035.194024897.davem@davemloft.net>
Date: Wed, 14 Jan 2009 14:50:35 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: pebolle@...cali.nl
Cc: netdev@...r.kernel.org
Subject: Re: [i4l] stop address leakage when shutting down an i4l ppp
interface
From: Paul Bolle <pebolle@...cali.nl>
Date: Mon, 12 Jan 2009 13:54:49 +0100
> @@ -1336,6 +1336,13 @@ isdn_net_close(struct net_device *dev)
> }
> isdn_net_hangup(dev);
> isdn_unlock_drivers();
> +#ifdef CONFIG_ISDN_PPP
> + /* make sure arp_mc_map() handles this device properly */
> + if (dev->type == ARPHRD_PPP) {
> + dev->type = ARPHRD_ETHER;
> + dev->addr_len = ETH_ALEN;
> + }
> +#endif
> return 0;
> }
Just like the CONFIG_ISDN_PPP case, this code also changes the
p->dev->type and clears p->dev->addr_len for CONFIG_ISDN_X25
So at a minimum you'd need to add a case for that here as well.
I think it's pretty much illegal to change the device type after the
device has been registered. Probably a lot of surgery is needed
here to correct this.
Althought what might work is to unregister then re-register the
device when the device type needs to be changed. That should
work as long as it doesn't cause other undesirable side effects.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists