svn commit: r360255 - in stable/12/sys: kern sys
Mark Johnston
markj at FreeBSD.org
Fri Apr 24 13:24:21 UTC 2020
Author: markj
Date: Fri Apr 24 13:24:19 2020
New Revision: 360255
URL: https://svnweb.freebsd.org/changeset/base/360255
Log:
MFC r359779:
sbappendcontrol() needs to avoid clearing M_NOTREADY on data mbufs.
Modified:
stable/12/sys/kern/uipc_sockbuf.c
stable/12/sys/kern/uipc_usrreq.c
stable/12/sys/sys/sockbuf.h
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/kern/uipc_sockbuf.c
==============================================================================
--- stable/12/sys/kern/uipc_sockbuf.c Fri Apr 24 13:23:16 2020 (r360254)
+++ stable/12/sys/kern/uipc_sockbuf.c Fri Apr 24 13:24:19 2020 (r360255)
@@ -957,11 +957,11 @@ sbappendaddr(struct sockbuf *sb, const struct sockaddr
void
sbappendcontrol_locked(struct sockbuf *sb, struct mbuf *m0,
- struct mbuf *control)
+ struct mbuf *control, int flags)
{
struct mbuf *m, *mlast;
- m_clrprotoflags(m0);
+ sbm_clrprotoflags(m0, flags);
m_last(control)->m_next = m0;
SBLASTRECORDCHK(sb);
@@ -979,11 +979,12 @@ sbappendcontrol_locked(struct sockbuf *sb, struct mbuf
}
void
-sbappendcontrol(struct sockbuf *sb, struct mbuf *m0, struct mbuf *control)
+sbappendcontrol(struct sockbuf *sb, struct mbuf *m0, struct mbuf *control,
+ int flags)
{
SOCKBUF_LOCK(sb);
- sbappendcontrol_locked(sb, m0, control);
+ sbappendcontrol_locked(sb, m0, control, flags);
SOCKBUF_UNLOCK(sb);
}
Modified: stable/12/sys/kern/uipc_usrreq.c
==============================================================================
--- stable/12/sys/kern/uipc_usrreq.c Fri Apr 24 13:23:16 2020 (r360254)
+++ stable/12/sys/kern/uipc_usrreq.c Fri Apr 24 13:24:19 2020 (r360255)
@@ -1193,7 +1193,7 @@ uipc_send(struct socket *so, int flags, struct mbuf *m
case SOCK_STREAM:
if (control != NULL) {
sbappendcontrol_locked(&so2->so_rcv, m,
- control);
+ control, flags);
control = NULL;
} else
sbappend_locked(&so2->so_rcv, m, flags);
Modified: stable/12/sys/sys/sockbuf.h
==============================================================================
--- stable/12/sys/sys/sockbuf.h Fri Apr 24 13:23:16 2020 (r360254)
+++ stable/12/sys/sys/sockbuf.h Fri Apr 24 13:24:19 2020 (r360255)
@@ -140,9 +140,9 @@ int sbappendaddr_locked(struct sockbuf *sb, const stru
int sbappendaddr_nospacecheck_locked(struct sockbuf *sb,
const struct sockaddr *asa, struct mbuf *m0, struct mbuf *control);
void sbappendcontrol(struct sockbuf *sb, struct mbuf *m0,
- struct mbuf *control);
+ struct mbuf *control, int flags);
void sbappendcontrol_locked(struct sockbuf *sb, struct mbuf *m0,
- struct mbuf *control);
+ struct mbuf *control, int flags);
void sbappendrecord(struct sockbuf *sb, struct mbuf *m0);
void sbappendrecord_locked(struct sockbuf *sb, struct mbuf *m0);
void sbcompress(struct sockbuf *sb, struct mbuf *m, struct mbuf *n);
More information about the svn-src-stable
mailing list