Module Name: src
Committed By: msaitoh
Date: Tue Jan 29 07:04:09 UTC 2019
Modified Files:
src/sys/net [netbsd-8]: link_proto.c
src/sys/netatalk [netbsd-8]: ddp_usrreq.c
src/sys/netbt [netbsd-8]: hci_socket.c l2cap_socket.c rfcomm_socket.c
sco_socket.c
src/sys/netinet [netbsd-8]: sctp_usrreq.c tcp_usrreq.c
src/sys/netinet6 [netbsd-8]: raw_ip6.c sctp6_usrreq.c udp6_usrreq.c
src/sys/netmpls [netbsd-8]: mpls_proto.c
src/sys/netnatm [netbsd-8]: natm.c
Log Message:
Pull up following revision(s) (requested by martin in ticket #1175):
sys/net/link_proto.c 1.37
sys/netatalk/ddp_usrreq.c 1.72
sys/netbt/hci_socket.c 1.46
sys/netbt/l2cap_socket.c 1.36
sys/netbt/rfcomm_socket.c 1.38
sys/netbt/sco_socket.c 1.38
sys/netinet/sctp_usrreq.c 1.14
sys/netinet/tcp_usrreq.c 1.223
sys/netinet6/raw_ip6.c 1.173
sys/netinet6/sctp6_usrreq.c 1.17
sys/netinet6/udp6_usrreq.c 1.146
sys/netmpls/mpls_proto.c 1.32
sys/netnatm/natm.c patch
Fix memory leaks pointed out by Ilja Van Sprundel: all
sendoob() functions are expted to free both passed
mbuf chains.
To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.36.6.1 src/sys/net/link_proto.c
cvs rdiff -u -r1.70 -r1.70.8.1 src/sys/netatalk/ddp_usrreq.c
cvs rdiff -u -r1.45 -r1.45.10.1 src/sys/netbt/hci_socket.c
cvs rdiff -u -r1.35 -r1.35.10.1 src/sys/netbt/l2cap_socket.c
cvs rdiff -u -r1.37 -r1.37.10.1 src/sys/netbt/rfcomm_socket.c \
src/sys/netbt/sco_socket.c
cvs rdiff -u -r1.6 -r1.6.10.1 src/sys/netinet/sctp_usrreq.c
cvs rdiff -u -r1.214.6.1 -r1.214.6.2 src/sys/netinet/tcp_usrreq.c
cvs rdiff -u -r1.157.2.4 -r1.157.2.5 src/sys/netinet6/raw_ip6.c
cvs rdiff -u -r1.13 -r1.13.4.1 src/sys/netinet6/sctp6_usrreq.c
cvs rdiff -u -r1.129.4.1 -r1.129.4.2 src/sys/netinet6/udp6_usrreq.c
cvs rdiff -u -r1.30.8.1 -r1.30.8.2 src/sys/netmpls/mpls_proto.c
cvs rdiff -u -r1.53 -r1.53.8.1 src/sys/netnatm/natm.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/net/link_proto.c
diff -u src/sys/net/link_proto.c:1.36 src/sys/net/link_proto.c:1.36.6.1
--- src/sys/net/link_proto.c:1.36 Thu Apr 6 03:55:00 2017
+++ src/sys/net/link_proto.c Tue Jan 29 07:04:09 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: link_proto.c,v 1.36 2017/04/06 03:55:00 ozaki-r Exp $ */
+/* $NetBSD: link_proto.c,v 1.36.6.1 2019/01/29 07:04:09 msaitoh Exp $ */
/*-
* Copyright (c) 1982, 1986, 1993
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: link_proto.c,v 1.36 2017/04/06 03:55:00 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: link_proto.c,v 1.36.6.1 2019/01/29 07:04:09 msaitoh Exp $");
#include <sys/param.h>
#include <sys/socket.h>
@@ -401,6 +401,9 @@ link_sendoob(struct socket *so, struct m
{
KASSERT(solocked(so));
+ m_freem(m);
+ m_freem(control);
+
return EOPNOTSUPP;
}
Index: src/sys/netatalk/ddp_usrreq.c
diff -u src/sys/netatalk/ddp_usrreq.c:1.70 src/sys/netatalk/ddp_usrreq.c:1.70.8.1
--- src/sys/netatalk/ddp_usrreq.c:1.70 Thu Dec 8 05:16:33 2016
+++ src/sys/netatalk/ddp_usrreq.c Tue Jan 29 07:04:09 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: ddp_usrreq.c,v 1.70 2016/12/08 05:16:33 ozaki-r Exp $ */
+/* $NetBSD: ddp_usrreq.c,v 1.70.8.1 2019/01/29 07:04:09 msaitoh Exp $ */
/*
* Copyright (c) 1990,1991 Regents of The University of Michigan.
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ddp_usrreq.c,v 1.70 2016/12/08 05:16:33 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ddp_usrreq.c,v 1.70.8.1 2019/01/29 07:04:09 msaitoh Exp $");
#include "opt_mbuftrace.h"
@@ -518,8 +518,8 @@ ddp_sendoob(struct socket *so, struct mb
{
KASSERT(solocked(so));
- if (m)
- m_freem(m);
+ m_freem(m);
+ m_freem(control);
return EOPNOTSUPP;
}
Index: src/sys/netbt/hci_socket.c
diff -u src/sys/netbt/hci_socket.c:1.45 src/sys/netbt/hci_socket.c:1.45.10.1
--- src/sys/netbt/hci_socket.c:1.45 Tue Dec 22 11:40:07 2015
+++ src/sys/netbt/hci_socket.c Tue Jan 29 07:04:09 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: hci_socket.c,v 1.45 2015/12/22 11:40:07 plunky Exp $ */
+/* $NetBSD: hci_socket.c,v 1.45.10.1 2019/01/29 07:04:09 msaitoh Exp $ */
/*-
* Copyright (c) 2005 Iain Hibbert.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hci_socket.c,v 1.45 2015/12/22 11:40:07 plunky Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hci_socket.c,v 1.45.10.1 2019/01/29 07:04:09 msaitoh Exp $");
/* load symbolic names */
#ifdef BLUETOOTH_DEBUG
@@ -690,10 +690,8 @@ hci_sendoob(struct socket *so, struct mb
{
KASSERT(solocked(so));
- if (m)
- m_freem(m);
- if (control)
- m_freem(control);
+ m_freem(m);
+ m_freem(control);
return EOPNOTSUPP;
}
Index: src/sys/netbt/l2cap_socket.c
diff -u src/sys/netbt/l2cap_socket.c:1.35 src/sys/netbt/l2cap_socket.c:1.35.10.1
--- src/sys/netbt/l2cap_socket.c:1.35 Sat May 2 17:18:03 2015
+++ src/sys/netbt/l2cap_socket.c Tue Jan 29 07:04:09 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: l2cap_socket.c,v 1.35 2015/05/02 17:18:03 rtr Exp $ */
+/* $NetBSD: l2cap_socket.c,v 1.35.10.1 2019/01/29 07:04:09 msaitoh Exp $ */
/*-
* Copyright (c) 2005 Iain Hibbert.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: l2cap_socket.c,v 1.35 2015/05/02 17:18:03 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: l2cap_socket.c,v 1.35.10.1 2019/01/29 07:04:09 msaitoh Exp $");
/* load symbolic names */
#ifdef BLUETOOTH_DEBUG
@@ -338,10 +338,8 @@ l2cap_sendoob(struct socket *so, struct
{
KASSERT(solocked(so));
- if (m)
- m_freem(m);
- if (control)
- m_freem(control);
+ m_freem(m);
+ m_freem(control);
return EOPNOTSUPP;
}
Index: src/sys/netbt/rfcomm_socket.c
diff -u src/sys/netbt/rfcomm_socket.c:1.37 src/sys/netbt/rfcomm_socket.c:1.37.10.1
--- src/sys/netbt/rfcomm_socket.c:1.37 Sat May 2 17:18:03 2015
+++ src/sys/netbt/rfcomm_socket.c Tue Jan 29 07:04:09 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: rfcomm_socket.c,v 1.37 2015/05/02 17:18:03 rtr Exp $ */
+/* $NetBSD: rfcomm_socket.c,v 1.37.10.1 2019/01/29 07:04:09 msaitoh Exp $ */
/*-
* Copyright (c) 2006 Itronix Inc.
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rfcomm_socket.c,v 1.37 2015/05/02 17:18:03 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rfcomm_socket.c,v 1.37.10.1 2019/01/29 07:04:09 msaitoh Exp $");
/* load symbolic names */
#ifdef BLUETOOTH_DEBUG
@@ -343,10 +343,8 @@ rfcomm_sendoob(struct socket *so, struct
{
KASSERT(solocked(so));
- if (m)
- m_freem(m);
- if (control)
- m_freem(control);
+ m_freem(m);
+ m_freem(control);
return EOPNOTSUPP;
}
Index: src/sys/netbt/sco_socket.c
diff -u src/sys/netbt/sco_socket.c:1.37 src/sys/netbt/sco_socket.c:1.37.10.1
--- src/sys/netbt/sco_socket.c:1.37 Sat May 2 17:18:03 2015
+++ src/sys/netbt/sco_socket.c Tue Jan 29 07:04:09 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: sco_socket.c,v 1.37 2015/05/02 17:18:03 rtr Exp $ */
+/* $NetBSD: sco_socket.c,v 1.37.10.1 2019/01/29 07:04:09 msaitoh Exp $ */
/*-
* Copyright (c) 2006 Itronix Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sco_socket.c,v 1.37 2015/05/02 17:18:03 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sco_socket.c,v 1.37.10.1 2019/01/29 07:04:09 msaitoh Exp $");
/* load symbolic names */
#ifdef BLUETOOTH_DEBUG
@@ -329,10 +329,8 @@ sco_sendoob(struct socket *so, struct mb
{
KASSERT(solocked(so));
- if (m)
- m_freem(m);
- if (control)
- m_freem(control);
+ m_freem(m);
+ m_freem(control);
return EOPNOTSUPP;
}
Index: src/sys/netinet/sctp_usrreq.c
diff -u src/sys/netinet/sctp_usrreq.c:1.6 src/sys/netinet/sctp_usrreq.c:1.6.10.1
--- src/sys/netinet/sctp_usrreq.c:1.6 Thu Jul 7 09:32:02 2016
+++ src/sys/netinet/sctp_usrreq.c Tue Jan 29 07:04:09 2019
@@ -1,5 +1,5 @@
/* $KAME: sctp_usrreq.c,v 1.50 2005/06/16 20:45:29 jinmei Exp $ */
-/* $NetBSD: sctp_usrreq.c,v 1.6 2016/07/07 09:32:02 ozaki-r Exp $ */
+/* $NetBSD: sctp_usrreq.c,v 1.6.10.1 2019/01/29 07:04:09 msaitoh Exp $ */
/*
* Copyright (c) 2001, 2002, 2003, 2004 Cisco Systems, Inc.
@@ -33,7 +33,7 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sctp_usrreq.c,v 1.6 2016/07/07 09:32:02 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sctp_usrreq.c,v 1.6.10.1 2019/01/29 07:04:09 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -3814,10 +3814,8 @@ sctp_sendoob(struct socket *so, struct m
{
KASSERT(solocked(so));
- if (m)
- m_freem(m);
- if (control)
- m_freem(control);
+ m_freem(m);
+ m_freem(control);
return EOPNOTSUPP;
}
Index: src/sys/netinet/tcp_usrreq.c
diff -u src/sys/netinet/tcp_usrreq.c:1.214.6.1 src/sys/netinet/tcp_usrreq.c:1.214.6.2
--- src/sys/netinet/tcp_usrreq.c:1.214.6.1 Fri Aug 25 05:36:16 2017
+++ src/sys/netinet/tcp_usrreq.c Tue Jan 29 07:04:09 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: tcp_usrreq.c,v 1.214.6.1 2017/08/25 05:36:16 snj Exp $ */
+/* $NetBSD: tcp_usrreq.c,v 1.214.6.2 2019/01/29 07:04:09 msaitoh Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -99,7 +99,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tcp_usrreq.c,v 1.214.6.1 2017/08/25 05:36:16 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tcp_usrreq.c,v 1.214.6.2 2019/01/29 07:04:09 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -1182,14 +1182,18 @@ tcp_sendoob(struct socket *so, struct mb
int error = 0;
int s;
- if ((error = tcp_getpcb(so, &inp, &in6p, &tp)) != 0)
+ if ((error = tcp_getpcb(so, &inp, &in6p, &tp)) != 0) {
+ m_freem(m);
+ m_freem(control);
return error;
+ }
ostate = tcp_debug_capture(tp, PRU_SENDOOB);
s = splsoftnet();
if (sbspace(&so->so_snd) < -512) {
m_freem(m);
+ m_freem(control);
splx(s);
return ENOBUFS;
}
@@ -1208,6 +1212,7 @@ tcp_sendoob(struct socket *so, struct mb
tp->t_force = 0;
tcp_debug_trace(so, tp, ostate, PRU_SENDOOB);
splx(s);
+ m_freem(control);
return error;
}
Index: src/sys/netinet6/raw_ip6.c
diff -u src/sys/netinet6/raw_ip6.c:1.157.2.4 src/sys/netinet6/raw_ip6.c:1.157.2.5
--- src/sys/netinet6/raw_ip6.c:1.157.2.4 Mon Apr 9 13:34:10 2018
+++ src/sys/netinet6/raw_ip6.c Tue Jan 29 07:04:09 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: raw_ip6.c,v 1.157.2.4 2018/04/09 13:34:10 bouyer Exp $ */
+/* $NetBSD: raw_ip6.c,v 1.157.2.5 2019/01/29 07:04:09 msaitoh Exp $ */
/* $KAME: raw_ip6.c,v 1.82 2001/07/23 18:57:56 jinmei Exp $ */
/*
@@ -62,7 +62,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: raw_ip6.c,v 1.157.2.4 2018/04/09 13:34:10 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: raw_ip6.c,v 1.157.2.5 2019/01/29 07:04:09 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_ipsec.h"
@@ -924,8 +924,8 @@ rip6_sendoob(struct socket *so, struct m
{
KASSERT(solocked(so));
- if (m)
- m_freem(m);
+ m_freem(m);
+ m_freem(control);
return EOPNOTSUPP;
}
Index: src/sys/netinet6/sctp6_usrreq.c
diff -u src/sys/netinet6/sctp6_usrreq.c:1.13 src/sys/netinet6/sctp6_usrreq.c:1.13.4.1
--- src/sys/netinet6/sctp6_usrreq.c:1.13 Thu Apr 20 09:19:19 2017
+++ src/sys/netinet6/sctp6_usrreq.c Tue Jan 29 07:04:09 2019
@@ -1,5 +1,5 @@
/* $KAME: sctp6_usrreq.c,v 1.38 2005/08/24 08:08:56 suz Exp $ */
-/* $NetBSD: sctp6_usrreq.c,v 1.13 2017/04/20 09:19:19 ozaki-r Exp $ */
+/* $NetBSD: sctp6_usrreq.c,v 1.13.4.1 2019/01/29 07:04:09 msaitoh Exp $ */
/*
* Copyright (c) 2001, 2002, 2003, 2004 Cisco Systems, Inc.
@@ -33,7 +33,7 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sctp6_usrreq.c,v 1.13 2017/04/20 09:19:19 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sctp6_usrreq.c,v 1.13.4.1 2019/01/29 07:04:09 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -911,10 +911,8 @@ sctp6_sendoob(struct socket *so, struct
{
KASSERT(solocked(so));
- if (m)
- m_freem(m);
- if (control)
- m_freem(control);
+ m_freem(m);
+ m_freem(control);
return EOPNOTSUPP;
}
Index: src/sys/netinet6/udp6_usrreq.c
diff -u src/sys/netinet6/udp6_usrreq.c:1.129.4.1 src/sys/netinet6/udp6_usrreq.c:1.129.4.2
--- src/sys/netinet6/udp6_usrreq.c:1.129.4.1 Mon Apr 9 13:34:10 2018
+++ src/sys/netinet6/udp6_usrreq.c Tue Jan 29 07:04:09 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: udp6_usrreq.c,v 1.129.4.1 2018/04/09 13:34:10 bouyer Exp $ */
+/* $NetBSD: udp6_usrreq.c,v 1.129.4.2 2019/01/29 07:04:09 msaitoh Exp $ */
/* $KAME: udp6_usrreq.c,v 1.86 2001/05/27 17:33:00 itojun Exp $ */
/*
@@ -62,7 +62,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: udp6_usrreq.c,v 1.129.4.1 2018/04/09 13:34:10 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udp6_usrreq.c,v 1.129.4.2 2019/01/29 07:04:09 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -899,10 +899,8 @@ udp6_sendoob(struct socket *so, struct m
{
KASSERT(solocked(so));
- if (m)
- m_freem(m);
- if (control)
- m_freem(control);
+ m_freem(m);
+ m_freem(control);
return EOPNOTSUPP;
}
Index: src/sys/netmpls/mpls_proto.c
diff -u src/sys/netmpls/mpls_proto.c:1.30.8.1 src/sys/netmpls/mpls_proto.c:1.30.8.2
--- src/sys/netmpls/mpls_proto.c:1.30.8.1 Tue Oct 24 08:55:55 2017
+++ src/sys/netmpls/mpls_proto.c Tue Jan 29 07:04:09 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: mpls_proto.c,v 1.30.8.1 2017/10/24 08:55:55 snj Exp $ */
+/* $NetBSD: mpls_proto.c,v 1.30.8.2 2019/01/29 07:04:09 msaitoh Exp $ */
/*
* Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mpls_proto.c,v 1.30.8.1 2017/10/24 08:55:55 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mpls_proto.c,v 1.30.8.2 2019/01/29 07:04:09 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -221,6 +221,9 @@ mpls_sendoob(struct socket *so, struct m
{
KASSERT(solocked(so));
+ m_freem(m);
+ m_freem(control);
+
return EOPNOTSUPP;
}
Index: src/sys/netnatm/natm.c
diff -u src/sys/netnatm/natm.c:1.53 src/sys/netnatm/natm.c:1.53.8.1
--- src/sys/netnatm/natm.c:1.53 Mon Oct 3 11:06:06 2016
+++ src/sys/netnatm/natm.c Tue Jan 29 07:04:09 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: natm.c,v 1.53 2016/10/03 11:06:06 ozaki-r Exp $ */
+/* $NetBSD: natm.c,v 1.53.8.1 2019/01/29 07:04:09 msaitoh Exp $ */
/*
* Copyright (c) 1996 Charles D. Cranor and Washington University.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: natm.c,v 1.53 2016/10/03 11:06:06 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: natm.c,v 1.53.8.1 2019/01/29 07:04:09 msaitoh Exp $");
#include <sys/param.h>
#include <sys/kmem.h>
@@ -415,6 +415,9 @@ natm_sendoob(struct socket *so, struct m
{
KASSERT(solocked(so));
+ m_freem(m);
+ m_freem(control);
+
return EOPNOTSUPP;
}