git: 7e5b6b391e77 - main - unix/dgram: cleanup uipc_send of PF_UNIX/SOCK_DGRAM, step 1
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 24 Jun 2022 16:10:29 UTC
The branch main has been updated by glebius:
URL: https://cgit.FreeBSD.org/src/commit/?id=7e5b6b391e77e5a78da40af64dec171a92a00b60
commit 7e5b6b391e77e5a78da40af64dec171a92a00b60
Author: Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2022-06-24 16:09:10 +0000
Commit: Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2022-06-24 16:09:10 +0000
unix/dgram: cleanup uipc_send of PF_UNIX/SOCK_DGRAM, step 1
Remove the dead code. The new uipc_sosend_dgram() handles send()
on PF_UNIX/SOCK_DGRAM in full.
Reviewed by: markj
Differential revision: https://reviews.freebsd.org/D35294
---
sys/kern/uipc_usrreq.c | 50 --------------------------------------------------
1 file changed, 50 deletions(-)
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index 2e54ee827b8e..5141ca6a2ad3 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -1009,56 +1009,6 @@ uipc_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam,
unp2 = NULL;
switch (so->so_type) {
- case SOCK_DGRAM:
- {
- const struct sockaddr *from;
-
- if (nam != NULL) {
- error = unp_connect(so, nam, td);
- if (error != 0)
- break;
- }
- UNP_PCB_LOCK(unp);
-
- /*
- * Because connect() and send() are non-atomic in a sendto()
- * with a target address, it's possible that the socket will
- * have disconnected before the send() can run. In that case
- * return the slightly counter-intuitive but otherwise
- * correct error that the socket is not connected.
- */
- unp2 = unp_pcb_lock_peer(unp);
- if (unp2 == NULL) {
- UNP_PCB_UNLOCK(unp);
- error = ENOTCONN;
- break;
- }
-
- if (unp2->unp_flags & UNP_WANTCRED_MASK)
- control = unp_addsockcred(td, control,
- unp2->unp_flags);
- if (unp->unp_addr != NULL)
- from = (struct sockaddr *)unp->unp_addr;
- else
- from = &sun_noname;
- so2 = unp2->unp_socket;
- SOCKBUF_LOCK(&so2->so_rcv);
- if (sbappendaddr_locked(&so2->so_rcv, from, m,
- control)) {
- sorwakeup_locked(so2);
- m = NULL;
- control = NULL;
- } else {
- soroverflow_locked(so2);
- error = (so->so_state & SS_NBIO) ? EAGAIN : ENOBUFS;
- }
- if (nam != NULL)
- unp_disconnect(unp, unp2);
- else
- unp_pcb_unlock_pair(unp, unp2);
- break;
- }
-
case SOCK_SEQPACKET:
case SOCK_STREAM:
if ((so->so_state & SS_ISCONNECTED) == 0) {