net: kernel socket should be released in init_net namespace
[firefly-linux-kernel-4.4.55.git] / net / core / sock.c
index a950b54248da3e5fe778d5bce0647fa561f5dfe5..d9f9e48253627efc3d45b45802fc39aa17162e4e 100644 (file)
@@ -1454,8 +1454,8 @@ void sk_release_kernel(struct sock *sk)
                return;
 
        sock_hold(sk);
-       sock_release(sk->sk_socket);
        sock_net_set(sk, get_net(&init_net));
+       sock_release(sk->sk_socket);
        sock_put(sk);
 }
 EXPORT_SYMBOL(sk_release_kernel);