[NET]: Move the get_net() from sock_copy()
The sock_copy() is supposed to just clone the socket. In a perfect world it has to be just memcpy, but we have to handle the security mark correctly. All the extra setup must be performed in sk_clone() call, so move the get_net() into more proper place. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f1a6c4da14
commit
1e2e6b89f1
1 changed files with 1 additions and 1 deletions
|
@ -864,7 +864,6 @@ static void sock_copy(struct sock *nsk, const struct sock *osk)
|
|||
#endif
|
||||
|
||||
memcpy(nsk, osk, osk->sk_prot->obj_size);
|
||||
get_net(nsk->sk_net);
|
||||
#ifdef CONFIG_SECURITY_NETWORK
|
||||
nsk->sk_security = sptr;
|
||||
security_sk_clone(osk, nsk);
|
||||
|
@ -958,6 +957,7 @@ struct sock *sk_clone(const struct sock *sk, const gfp_t priority)
|
|||
sock_copy(newsk, sk);
|
||||
|
||||
/* SANITY */
|
||||
get_net(newsk->sk_net);
|
||||
sk_node_init(&newsk->sk_node);
|
||||
sock_lock_init(newsk);
|
||||
bh_lock_sock(newsk);
|
||||
|
|
Loading…
Reference in a new issue