aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/skmsg.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/skmsg.c')
-rw-r--r--net/core/skmsg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/skmsg.c b/net/core/skmsg.c
index 93bffaad2135..6832eeb4b785 100644
--- a/net/core/skmsg.c
+++ b/net/core/skmsg.c
@@ -585,12 +585,12 @@ EXPORT_SYMBOL_GPL(sk_psock_destroy);
585 585
586void sk_psock_drop(struct sock *sk, struct sk_psock *psock) 586void sk_psock_drop(struct sock *sk, struct sk_psock *psock)
587{ 587{
588 rcu_assign_sk_user_data(sk, NULL);
589 sk_psock_cork_free(psock); 588 sk_psock_cork_free(psock);
590 sk_psock_zap_ingress(psock); 589 sk_psock_zap_ingress(psock);
591 sk_psock_restore_proto(sk, psock);
592 590
593 write_lock_bh(&sk->sk_callback_lock); 591 write_lock_bh(&sk->sk_callback_lock);
592 sk_psock_restore_proto(sk, psock);
593 rcu_assign_sk_user_data(sk, NULL);
594 if (psock->progs.skb_parser) 594 if (psock->progs.skb_parser)
595 sk_psock_stop_strp(sk, psock); 595 sk_psock_stop_strp(sk, psock);
596 write_unlock_bh(&sk->sk_callback_lock); 596 write_unlock_bh(&sk->sk_callback_lock);