Merge tag 'block-6.1-2022-12-02' of git://git.kernel.dk/linux
[platform/kernel/linux-starfive.git] / net / core / sock_map.c
index a660bae..81beb16 100644 (file)
@@ -1596,7 +1596,7 @@ void sock_map_destroy(struct sock *sk)
        saved_destroy = psock->saved_destroy;
        sock_map_remove_links(sk, psock);
        rcu_read_unlock();
-       sk_psock_stop(psock, false);
+       sk_psock_stop(psock);
        sk_psock_put(sk, psock);
        saved_destroy(sk);
 }
@@ -1619,9 +1619,10 @@ void sock_map_close(struct sock *sk, long timeout)
        saved_close = psock->saved_close;
        sock_map_remove_links(sk, psock);
        rcu_read_unlock();
-       sk_psock_stop(psock, true);
-       sk_psock_put(sk, psock);
+       sk_psock_stop(psock);
        release_sock(sk);
+       cancel_work_sync(&psock->work);
+       sk_psock_put(sk, psock);
        saved_close(sk, timeout);
 }
 EXPORT_SYMBOL_GPL(sock_map_close);