The branch main has been updated by glebius:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=9ef38a01aea87afa6a49fc90411cf8de5ac73b28

commit 9ef38a01aea87afa6a49fc90411cf8de5ac73b28
Author:     Gleb Smirnoff <gleb...@freebsd.org>
AuthorDate: 2025-02-05 22:24:27 +0000
Commit:     Gleb Smirnoff <gleb...@freebsd.org>
CommitDate: 2025-02-05 22:24:27 +0000

    unix: remove always true check from uipc_attach
    
    This is pr_attach method, it is always called on a newborn socket.  The
    condition was always true at least since 6d32873c2930.
---
 sys/kern/uipc_usrreq.c | 52 ++++++++++++++++++++++++--------------------------
 1 file changed, 25 insertions(+), 27 deletions(-)

diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index c1f1c07da268..a67e105a1447 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -445,37 +445,35 @@ uipc_attach(struct socket *so, int proto, struct thread 
*td)
        bool locked;
 
        KASSERT(so->so_pcb == NULL, ("uipc_attach: so_pcb != NULL"));
-       if (so->so_snd.sb_hiwat == 0 || so->so_rcv.sb_hiwat == 0) {
-               switch (so->so_type) {
-               case SOCK_STREAM:
-                       sendspace = unpst_sendspace;
-                       recvspace = unpst_recvspace;
-                       break;
+       switch (so->so_type) {
+       case SOCK_STREAM:
+               sendspace = unpst_sendspace;
+               recvspace = unpst_recvspace;
+               break;
 
-               case SOCK_DGRAM:
-                       STAILQ_INIT(&so->so_rcv.uxdg_mb);
-                       STAILQ_INIT(&so->so_snd.uxdg_mb);
-                       TAILQ_INIT(&so->so_rcv.uxdg_conns);
-                       /*
-                        * Since send buffer is either bypassed or is a part
-                        * of one-to-many receive buffer, we assign both space
-                        * limits to unpdg_recvspace.
-                        */
-                       sendspace = recvspace = unpdg_recvspace;
-                       break;
+       case SOCK_DGRAM:
+               STAILQ_INIT(&so->so_rcv.uxdg_mb);
+               STAILQ_INIT(&so->so_snd.uxdg_mb);
+               TAILQ_INIT(&so->so_rcv.uxdg_conns);
+               /*
+                * Since send buffer is either bypassed or is a part
+                * of one-to-many receive buffer, we assign both space
+                * limits to unpdg_recvspace.
+                */
+               sendspace = recvspace = unpdg_recvspace;
+               break;
 
-               case SOCK_SEQPACKET:
-                       sendspace = unpsp_sendspace;
-                       recvspace = unpsp_recvspace;
-                       break;
+       case SOCK_SEQPACKET:
+               sendspace = unpsp_sendspace;
+               recvspace = unpsp_recvspace;
+               break;
 
-               default:
-                       panic("uipc_attach");
-               }
-               error = soreserve(so, sendspace, recvspace);
-               if (error)
-                       return (error);
+       default:
+               panic("uipc_attach");
        }
+       error = soreserve(so, sendspace, recvspace);
+       if (error)
+               return (error);
        unp = uma_zalloc(unp_zone, M_NOWAIT | M_ZERO);
        if (unp == NULL)
                return (ENOBUFS);

Reply via email to