--- a/net/kcm/kcmsock.c 2022-08-21 19:03:53.088383700 +0800 +++ b/net/kcm/kcmsock.c 2022-08-21 19:23:43.935799700 +0800 @@ -1425,11 +1425,11 @@ static int kcm_attach(struct socket *soc */ if (csk->sk_user_data) { write_unlock_bh(&csk->sk_callback_lock); + release_sock(csk); strp_stop(&psock->strp); strp_done(&psock->strp); kmem_cache_free(kcm_psockp, psock); - err = -EALREADY; - goto out; + return -EALREADY; } psock->save_data_ready = csk->sk_data_ready;