Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4f84d82f authored by Denis V. Lunev's avatar Denis V. Lunev Committed by David S. Miller
Browse files

[NETNS]: Memory leak on network namespace stop.



Network namespace allocates 2 kernel netlink sockets, fibnl &
rtnl. These sockets should be disposed properly, i.e. by
sock_release. Plain sock_put is not enough.

Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
Tested-by: default avatarAlexey Dobriyan <adobriyan@openvz.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 869e58f8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1384,7 +1384,7 @@ static void rtnetlink_net_exit(struct net *net)
		 * free.
		 */
		sk->sk_net = get_net(&init_net);
		sock_put(sk);
		sock_release(net->rtnl->sk_socket);
		net->rtnl = NULL;
	}
}
+1 −1
Original line number Diff line number Diff line
@@ -881,7 +881,7 @@ static void nl_fib_lookup_exit(struct net *net)
	 * initial network namespace. So the socket will  be safe to free.
	 */
	net->ipv4.fibnl->sk_net = get_net(&init_net);
	sock_put(net->ipv4.fibnl);
	sock_release(net->ipv4.fibnl->sk_socket);
}

static void fib_disable_ip(struct net_device *dev, int force)