]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
af_unix: Remove sock->state assignment.
authorKuniyuki Iwashima <kuniyu@google.com>
Fri, 29 May 2026 19:18:02 +0000 (19:18 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 2 Jun 2026 18:44:10 +0000 (11:44 -0700)
Both struct socket and struct sock have a variable to
manage its state, sock->state and sk->sk_state.

When both are used, the former typically manages syscall
state and the latter manages the actual connection state.

AF_UNIX only uses sk->sk_state.

Let's remove unnecessary assignemnts for sock->state.

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

index dc71ed79be4aadae493cd06e8af3d403c1a35439..628191bcb48fab4d320d28cdc28c9b70e9f3852f 100644 (file)
@@ -1142,8 +1142,6 @@ static int unix_create(struct net *net, struct socket *sock, int protocol,
        if (protocol && protocol != PF_UNIX)
                return -EPROTONOSUPPORT;
 
-       sock->state = SS_UNCONNECTED;
-
        switch (sock->type) {
        case SOCK_STREAM:
                set_bit(SOCK_CUSTOM_SOCKOPT, &sock->flags);
@@ -1775,7 +1773,6 @@ restart:
        /* Set credentials */
        copy_peercred(sk, other);
 
-       sock->state     = SS_CONNECTED;
        WRITE_ONCE(sk->sk_state, TCP_ESTABLISHED);
        sock_hold(newsk);
 
@@ -1831,8 +1828,7 @@ static int unix_socketpair(struct socket *socka, struct socket *sockb)
 
        ska->sk_state = TCP_ESTABLISHED;
        skb->sk_state = TCP_ESTABLISHED;
-       socka->state  = SS_CONNECTED;
-       sockb->state  = SS_CONNECTED;
+
        return 0;
 }
 
@@ -1874,7 +1870,6 @@ static int unix_accept(struct socket *sock, struct socket *newsock,
        /* attach accepted sock to socket */
        unix_state_lock(tsk);
        unix_update_edges(unix_sk(tsk));
-       newsock->state = SS_CONNECTED;
        sock_graft(tsk, newsock);
        unix_state_unlock(tsk);
        return 0;