[Devel] Re: [PATCH v3] tun: don't hold network namespace by tun sockets

David Miller davem at davemloft.net
Mon Mar 12 17:14:11 PDT 2012


aFrom: Stanislav Kinsbursky <skinsbursky at parallels.com>
Date: Mon, 12 Mar 2012 16:59:41 +0400

> v3: added previously removed sock_put() to the tun_release() callback, because
> sk_release_kernel() doesn't drop the socket reference.
> 
> v2: sk_release_kernel() used for socket release. Dummy tun_release() is
> required for sk_release_kernel() ---> sock_release() ---> sock->ops->release()
> call.
> 
> TUN was designed to destroy it's socket on network namesapce shutdown. But this
> will never happen for persistent device, because it's socket holds network
> namespace.
> This patch removes of holding network namespace by TUN socket and replaces it
> by creating socket in init_net and then changing it's net it to desired one. On
> shutdown socket is moved back to init_net prior to final put.
> 
> Signed-off-by: Stanislav Kinsbursky <skinsbursky at parallels.com>

Looks good, applied, thanks.




More information about the Devel mailing list