[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20081105.160054.261042048.davem@davemloft.net>
Date: Wed, 05 Nov 2008 16:00:54 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: ebiederm@...ssion.com
Cc: dlezcano@...ibm.com, containers@...ts.osdl.org, den@...nvz.org,
xemul@...nvz.org, netdev@...r.kernel.org
Subject: Re: [PATCH 3/3] net: Don't leak packets when a netns is going down
From: ebiederm@...ssion.com (Eric W. Biederman)
Date: Wed, 05 Nov 2008 15:27:34 -0800
>
> I have been tracking for a while a case where when the
> network namespace exits the cleanup gets stck in an
> endless precessess of:
>
> unregister_netdevice: waiting for lo to become free. Usage count = 3
> unregister_netdevice: waiting for lo to become free. Usage count = 3
> unregister_netdevice: waiting for lo to become free. Usage count = 3
> unregister_netdevice: waiting for lo to become free. Usage count = 3
> unregister_netdevice: waiting for lo to become free. Usage count = 3
> unregister_netdevice: waiting for lo to become free. Usage count = 3
> unregister_netdevice: waiting for lo to become free. Usage count = 3
>
> It turns out that if you listen on a multicast address an unsubscribe
> packet is sent when the network device goes down. If you shutdown
> the network namespace without carefully cleaning up this can trigger
> the unsubscribe packet to be sent over the loopback interface while
> the network namespace is going down.
>
> All of which is fine except when we drop the packet and forget to
> free it leaking the skb and the dst entry attached to. As it
> turns out the dst entry hold a reference to the idev which holds
> the dev and keeps everything from being cleaned up. Yuck!
>
> By fixing my earlier thinko and add the needed kfree_skb and everything
> cleans up beautifully.
>
> Signed-off-by: Eric W. Biederman <ebiederm@...ssion.com>
Applied.
--
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