]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
af_unix: Set drop reason in unix_sock_destructor().
authorKuniyuki Iwashima <kuniyu@amazon.com>
Thu, 16 Jan 2025 05:34:36 +0000 (14:34 +0900)
committerJakub Kicinski <kuba@kernel.org>
Mon, 20 Jan 2025 19:27:40 +0000 (11:27 -0800)
unix_sock_destructor() is called as sk->sk_destruct() just before
the socket is actually freed.

Let's use SKB_DROP_REASON_SOCKET_CLOSE for skb_queue_purge().

Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20250116053441.5758-4-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/unix/af_unix.c

index a05d25cc5545e4144664e712ea3a65206d85c316..41b99984008a68fa78a9ddce46236224f24bc807 100644 (file)
@@ -640,7 +640,7 @@ static void unix_sock_destructor(struct sock *sk)
 {
        struct unix_sock *u = unix_sk(sk);
 
-       skb_queue_purge(&sk->sk_receive_queue);
+       skb_queue_purge_reason(&sk->sk_receive_queue, SKB_DROP_REASON_SOCKET_CLOSE);
 
        DEBUG_NET_WARN_ON_ONCE(refcount_read(&sk->sk_wmem_alloc));
        DEBUG_NET_WARN_ON_ONCE(!sk_unhashed(sk));