Module Name:    src
Committed By:   msaitoh
Date:           Tue Jan 29 08:12:18 UTC 2019

Modified Files:
        src/sys/net [netbsd-7-1]: link_proto.c
        src/sys/netatalk [netbsd-7-1]: ddp_usrreq.c
        src/sys/netbt [netbsd-7-1]: hci_socket.c l2cap_socket.c rfcomm_socket.c
            sco_socket.c
        src/sys/netinet [netbsd-7-1]: tcp_usrreq.c
        src/sys/netinet6 [netbsd-7-1]: raw_ip6.c udp6_usrreq.c
        src/sys/netmpls [netbsd-7-1]: mpls_proto.c
        src/sys/netnatm [netbsd-7-1]: natm.c

Log Message:
Pull up following revision(s) (requested by martin in ticket #1676):
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/tcp_usrreq.c                        1.223 via patch
sys/netinet6/raw_ip6.c                          1.173
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.24 -r1.24.10.1 src/sys/net/link_proto.c
cvs rdiff -u -r1.63 -r1.63.10.1 src/sys/netatalk/ddp_usrreq.c
cvs rdiff -u -r1.40 -r1.40.10.1 src/sys/netbt/hci_socket.c
cvs rdiff -u -r1.31 -r1.31.10.1 src/sys/netbt/l2cap_socket.c
cvs rdiff -u -r1.33 -r1.33.10.1 src/sys/netbt/rfcomm_socket.c \
    src/sys/netbt/sco_socket.c
cvs rdiff -u -r1.200.2.2 -r1.200.2.2.6.1 src/sys/netinet/tcp_usrreq.c
cvs rdiff -u -r1.136.2.1.2.2 -r1.136.2.1.2.3 src/sys/netinet6/raw_ip6.c
cvs rdiff -u -r1.115 -r1.115.10.1 src/sys/netinet6/udp6_usrreq.c
cvs rdiff -u -r1.24 -r1.24.10.1 src/sys/netmpls/mpls_proto.c
cvs rdiff -u -r1.45 -r1.45.10.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.24 src/sys/net/link_proto.c:1.24.10.1
--- src/sys/net/link_proto.c:1.24	Sat Aug  9 05:33:01 2014
+++ src/sys/net/link_proto.c	Tue Jan 29 08:12:17 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: link_proto.c,v 1.24 2014/08/09 05:33:01 rtr Exp $	*/
+/*	$NetBSD: link_proto.c,v 1.24.10.1 2019/01/29 08:12:17 msaitoh Exp $	*/
 
 /*-
  * Copyright (c) 1982, 1986, 1993
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: link_proto.c,v 1.24 2014/08/09 05:33:01 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: link_proto.c,v 1.24.10.1 2019/01/29 08:12:17 msaitoh Exp $");
 
 #include <sys/param.h>
 #include <sys/socket.h>
@@ -389,6 +389,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.63 src/sys/netatalk/ddp_usrreq.c:1.63.10.1
--- src/sys/netatalk/ddp_usrreq.c:1.63	Sat Aug  9 05:33:01 2014
+++ src/sys/netatalk/ddp_usrreq.c	Tue Jan 29 08:12:17 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: ddp_usrreq.c,v 1.63 2014/08/09 05:33:01 rtr Exp $	 */
+/*	$NetBSD: ddp_usrreq.c,v 1.63.10.1 2019/01/29 08:12:17 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.63 2014/08/09 05:33:01 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ddp_usrreq.c,v 1.63.10.1 2019/01/29 08:12:17 msaitoh Exp $");
 
 #include "opt_mbuftrace.h"
 
@@ -581,8 +581,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.40 src/sys/netbt/hci_socket.c:1.40.10.1
--- src/sys/netbt/hci_socket.c:1.40	Sat Aug  9 05:33:01 2014
+++ src/sys/netbt/hci_socket.c	Tue Jan 29 08:12:17 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: hci_socket.c,v 1.40 2014/08/09 05:33:01 rtr Exp $	*/
+/*	$NetBSD: hci_socket.c,v 1.40.10.1 2019/01/29 08:12:17 msaitoh Exp $	*/
 
 /*-
  * Copyright (c) 2005 Iain Hibbert.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hci_socket.c,v 1.40 2014/08/09 05:33:01 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hci_socket.c,v 1.40.10.1 2019/01/29 08:12:17 msaitoh Exp $");
 
 /* load symbolic names */
 #ifdef BLUETOOTH_DEBUG
@@ -712,10 +712,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.31 src/sys/netbt/l2cap_socket.c:1.31.10.1
--- src/sys/netbt/l2cap_socket.c:1.31	Sat Aug  9 05:33:01 2014
+++ src/sys/netbt/l2cap_socket.c	Tue Jan 29 08:12:17 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: l2cap_socket.c,v 1.31 2014/08/09 05:33:01 rtr Exp $	*/
+/*	$NetBSD: l2cap_socket.c,v 1.31.10.1 2019/01/29 08:12:17 msaitoh Exp $	*/
 
 /*-
  * Copyright (c) 2005 Iain Hibbert.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: l2cap_socket.c,v 1.31 2014/08/09 05:33:01 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: l2cap_socket.c,v 1.31.10.1 2019/01/29 08:12:17 msaitoh Exp $");
 
 /* load symbolic names */
 #ifdef BLUETOOTH_DEBUG
@@ -349,10 +349,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.33 src/sys/netbt/rfcomm_socket.c:1.33.10.1
--- src/sys/netbt/rfcomm_socket.c:1.33	Sat Aug  9 05:33:01 2014
+++ src/sys/netbt/rfcomm_socket.c	Tue Jan 29 08:12:17 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: rfcomm_socket.c,v 1.33 2014/08/09 05:33:01 rtr Exp $	*/
+/*	$NetBSD: rfcomm_socket.c,v 1.33.10.1 2019/01/29 08:12:17 msaitoh Exp $	*/
 
 /*-
  * Copyright (c) 2006 Itronix Inc.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rfcomm_socket.c,v 1.33 2014/08/09 05:33:01 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rfcomm_socket.c,v 1.33.10.1 2019/01/29 08:12:17 msaitoh Exp $");
 
 /* load symbolic names */
 #ifdef BLUETOOTH_DEBUG
@@ -354,10 +354,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.33 src/sys/netbt/sco_socket.c:1.33.10.1
--- src/sys/netbt/sco_socket.c:1.33	Sat Aug  9 05:33:01 2014
+++ src/sys/netbt/sco_socket.c	Tue Jan 29 08:12:17 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: sco_socket.c,v 1.33 2014/08/09 05:33:01 rtr Exp $	*/
+/*	$NetBSD: sco_socket.c,v 1.33.10.1 2019/01/29 08:12:17 msaitoh Exp $	*/
 
 /*-
  * Copyright (c) 2006 Itronix Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sco_socket.c,v 1.33 2014/08/09 05:33:01 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sco_socket.c,v 1.33.10.1 2019/01/29 08:12:17 msaitoh Exp $");
 
 /* load symbolic names */
 #ifdef BLUETOOTH_DEBUG
@@ -340,10 +340,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/tcp_usrreq.c
diff -u src/sys/netinet/tcp_usrreq.c:1.200.2.2 src/sys/netinet/tcp_usrreq.c:1.200.2.2.6.1
--- src/sys/netinet/tcp_usrreq.c:1.200.2.2	Sat Feb 21 13:40:19 2015
+++ src/sys/netinet/tcp_usrreq.c	Tue Jan 29 08:12:18 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: tcp_usrreq.c,v 1.200.2.2 2015/02/21 13:40:19 martin Exp $	*/
+/*	$NetBSD: tcp_usrreq.c,v 1.200.2.2.6.1 2019/01/29 08:12:18 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.200.2.2 2015/02/21 13:40:19 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tcp_usrreq.c,v 1.200.2.2.6.1 2019/01/29 08:12:18 msaitoh Exp $");
 
 #include "opt_inet.h"
 #include "opt_ipsec.h"
@@ -1200,14 +1200,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;
 	}
@@ -1226,6 +1230,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.136.2.1.2.2 src/sys/netinet6/raw_ip6.c:1.136.2.1.2.3
--- src/sys/netinet6/raw_ip6.c:1.136.2.1.2.2	Sun Apr  1 09:13:46 2018
+++ src/sys/netinet6/raw_ip6.c	Tue Jan 29 08:12:18 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: raw_ip6.c,v 1.136.2.1.2.2 2018/04/01 09:13:46 martin Exp $	*/
+/*	$NetBSD: raw_ip6.c,v 1.136.2.1.2.3 2019/01/29 08:12:18 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.136.2.1.2.2 2018/04/01 09:13:46 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: raw_ip6.c,v 1.136.2.1.2.3 2019/01/29 08:12:18 msaitoh Exp $");
 
 #include "opt_ipsec.h"
 
@@ -913,8 +913,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/udp6_usrreq.c
diff -u src/sys/netinet6/udp6_usrreq.c:1.115 src/sys/netinet6/udp6_usrreq.c:1.115.10.1
--- src/sys/netinet6/udp6_usrreq.c:1.115	Sat Aug  9 05:33:01 2014
+++ src/sys/netinet6/udp6_usrreq.c	Tue Jan 29 08:12:18 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: udp6_usrreq.c,v 1.115 2014/08/09 05:33:01 rtr Exp $	*/
+/*	$NetBSD: udp6_usrreq.c,v 1.115.10.1 2019/01/29 08:12:18 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.115 2014/08/09 05:33:01 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udp6_usrreq.c,v 1.115.10.1 2019/01/29 08:12:18 msaitoh Exp $");
 
 #include "opt_inet.h"
 #include "opt_inet_csum.h"
@@ -875,10 +875,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.24 src/sys/netmpls/mpls_proto.c:1.24.10.1
--- src/sys/netmpls/mpls_proto.c:1.24	Sat Aug  9 05:33:01 2014
+++ src/sys/netmpls/mpls_proto.c	Tue Jan 29 08:12:18 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: mpls_proto.c,v 1.24 2014/08/09 05:33:01 rtr Exp $ */
+/*	$NetBSD: mpls_proto.c,v 1.24.10.1 2019/01/29 08:12:18 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.24 2014/08/09 05:33:01 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mpls_proto.c,v 1.24.10.1 2019/01/29 08:12:18 msaitoh Exp $");
 
 #include "opt_inet.h"
 #include "opt_mbuftrace.h"
@@ -218,6 +218,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.45 src/sys/netnatm/natm.c:1.45.10.1
--- src/sys/netnatm/natm.c:1.45	Sat Aug  9 05:33:01 2014
+++ src/sys/netnatm/natm.c	Tue Jan 29 08:12:18 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: natm.c,v 1.45 2014/08/09 05:33:01 rtr Exp $	*/
+/*	$NetBSD: natm.c,v 1.45.10.1 2019/01/29 08:12:18 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.45 2014/08/09 05:33:01 rtr Exp $");
+__KERNEL_RCSID(0, "$NetBSD: natm.c,v 1.45.10.1 2019/01/29 08:12:18 msaitoh Exp $");
 
 #include <sys/param.h>
 #include <sys/kmem.h>
@@ -419,6 +419,9 @@ natm_sendoob(struct socket *so, struct m
 {
 	KASSERT(solocked(so));
 
+	m_freem(m);
+	m_freem(control);
+
 	return EOPNOTSUPP;
 }
 

Reply via email to