Module Name:    src
Committed By:   martin
Date:           Mon Feb 16 21:25:35 UTC 2015

Modified Files:
        src/sys/dev/ic [netbsd-7]: aic7xxx.c an.c
        src/sys/dev/sdmmc [netbsd-7]: sdmmc_mem.c
        src/sys/fs/nfs/common [netbsd-7]: krpc_subr.c
        src/sys/fs/udf [netbsd-7]: udf_subr.c
        src/sys/modules/lua [netbsd-7]: lua.c
        src/sys/ufs/chfs [netbsd-7]: chfs_scan.c ebh.c

Log Message:
Pull up following revision(s) (requested by maxv in ticket #520):
        sys/ufs/chfs/ebh.c: revision 1.6
        sys/dev/sdmmc/sdmmc_mem.c: revision 1.33
        sys/dev/ic/aic7xxx.c: revision 1.132
        sys/fs/nfs/common/krpc_subr.c: revision 1.2
        sys/modules/lua/lua.c: revision 1.16
        sys/fs/udf/udf_subr.c: revision 1.128
        sys/ufs/chfs/chfs_scan.c: revision 1.6
        sys/dev/ic/an.c: revision 1.62

Fix six memory leaks and two inconsistencies.


To generate a diff of this commit:
cvs rdiff -u -r1.131 -r1.131.4.1 src/sys/dev/ic/aic7xxx.c
cvs rdiff -u -r1.61 -r1.61.4.1 src/sys/dev/ic/an.c
cvs rdiff -u -r1.31 -r1.31.4.1 src/sys/dev/sdmmc/sdmmc_mem.c
cvs rdiff -u -r1.1.1.1 -r1.1.1.1.8.1 src/sys/fs/nfs/common/krpc_subr.c
cvs rdiff -u -r1.125 -r1.125.2.1 src/sys/fs/udf/udf_subr.c
cvs rdiff -u -r1.13.2.1 -r1.13.2.2 src/sys/modules/lua/lua.c
cvs rdiff -u -r1.4.12.1 -r1.4.12.2 src/sys/ufs/chfs/chfs_scan.c
cvs rdiff -u -r1.3.14.1 -r1.3.14.2 src/sys/ufs/chfs/ebh.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/dev/ic/aic7xxx.c
diff -u src/sys/dev/ic/aic7xxx.c:1.131 src/sys/dev/ic/aic7xxx.c:1.131.4.1
--- src/sys/dev/ic/aic7xxx.c:1.131	Thu Mar 27 18:28:26 2014
+++ src/sys/dev/ic/aic7xxx.c	Mon Feb 16 21:25:34 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: aic7xxx.c,v 1.131 2014/03/27 18:28:26 christos Exp $	*/
+/*	$NetBSD: aic7xxx.c,v 1.131.4.1 2015/02/16 21:25:34 martin Exp $	*/
 
 /*
  * Core routines and tables shareable across OS platforms.
@@ -39,7 +39,7 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGES.
  *
- * $Id: aic7xxx.c,v 1.131 2014/03/27 18:28:26 christos Exp $
+ * $Id: aic7xxx.c,v 1.131.4.1 2015/02/16 21:25:34 martin Exp $
  *
  * //depot/aic7xxx/aic7xxx/aic7xxx.c#112 $
  *
@@ -50,7 +50,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: aic7xxx.c,v 1.131 2014/03/27 18:28:26 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: aic7xxx.c,v 1.131.4.1 2015/02/16 21:25:34 martin Exp $");
 
 #include <dev/ic/aic7xxx_osm.h>
 #include <dev/ic/aic7xxx_inline.h>
@@ -4372,8 +4372,10 @@ ahc_alloc_scbs(struct ahc_softc *ahc)
 			  AHC_MAXTRANSFER_SIZE, AHC_NSEG, MAXPHYS, 0,
 			  BUS_DMA_WAITOK|BUS_DMA_ALLOCNOW|ahc->sc_dmaflags,
 			  &next_scb->dmamap);
-		if (error != 0)
+		if (error != 0) {
+			free(pdata, M_DEVBUF);
 			break;
+		}
 
 		next_scb->hscb = &scb_data->hscbs[scb_data->numscbs];
 		next_scb->hscb->tag = ahc->scb_data->numscbs;

Index: src/sys/dev/ic/an.c
diff -u src/sys/dev/ic/an.c:1.61 src/sys/dev/ic/an.c:1.61.4.1
--- src/sys/dev/ic/an.c:1.61	Tue Feb 25 18:30:09 2014
+++ src/sys/dev/ic/an.c	Mon Feb 16 21:25:34 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: an.c,v 1.61 2014/02/25 18:30:09 pooka Exp $	*/
+/*	$NetBSD: an.c,v 1.61.4.1 2015/02/16 21:25:34 martin Exp $	*/
 /*
  * Copyright (c) 1997, 1998, 1999
  *	Bill Paul <[email protected]>.  All rights reserved.
@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: an.c,v 1.61 2014/02/25 18:30:09 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: an.c,v 1.61.4.1 2015/02/16 21:25:34 martin Exp $");
 
 
 #include <sys/param.h>
@@ -569,8 +569,8 @@ an_init(struct ifnet *ifp)
 	if (ic->ic_des_esslen)
 		memcpy(sc->sc_buf.sc_ssidlist.an_entry[0].an_ssid,
 		    ic->ic_des_essid, ic->ic_des_esslen);
-	if (an_write_rid(sc, AN_RID_SSIDLIST, &sc->sc_buf,
-	    sizeof(sc->sc_buf.sc_ssidlist)) != 0) {
+	if ((error = an_write_rid(sc, AN_RID_SSIDLIST, &sc->sc_buf,
+	    sizeof(sc->sc_buf.sc_ssidlist))) != 0) {
 		printf("%s: failed to write ssid list\n", ifp->if_xname);
 		an_stop(ifp, 1);
 		return error;
@@ -604,8 +604,8 @@ an_init(struct ifnet *ifp)
 		printf("\n");
 	}
 #endif
-	if (an_write_rid(sc, AN_RID_GENCONFIG, &sc->sc_config,
-	    sizeof(sc->sc_config)) != 0) {
+	if ((error = an_write_rid(sc, AN_RID_GENCONFIG, &sc->sc_config,
+	    sizeof(sc->sc_config))) != 0) {
 		printf("%s: failed to write config\n", ifp->if_xname);
 		an_stop(ifp, 1);
 		return error;

Index: src/sys/dev/sdmmc/sdmmc_mem.c
diff -u src/sys/dev/sdmmc/sdmmc_mem.c:1.31 src/sys/dev/sdmmc/sdmmc_mem.c:1.31.4.1
--- src/sys/dev/sdmmc/sdmmc_mem.c:1.31	Wed Mar 19 15:26:42 2014
+++ src/sys/dev/sdmmc/sdmmc_mem.c	Mon Feb 16 21:25:34 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: sdmmc_mem.c,v 1.31 2014/03/19 15:26:42 nonaka Exp $	*/
+/*	$NetBSD: sdmmc_mem.c,v 1.31.4.1 2015/02/16 21:25:34 martin Exp $	*/
 /*	$OpenBSD: sdmmc_mem.c,v 1.10 2009/01/09 10:55:22 jsg Exp $	*/
 
 /*
@@ -45,7 +45,7 @@
 /* Routines for SD/MMC memory cards. */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sdmmc_mem.c,v 1.31 2014/03/19 15:26:42 nonaka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sdmmc_mem.c,v 1.31.4.1 2015/02/16 21:25:34 martin Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_sdmmc.h"
@@ -741,7 +741,7 @@ sdmmc_mem_mmc_init(struct sdmmc_softc *s
 			aprint_error_dev(sc->sc_dev,
 			    "unrecognised future version (%d)\n",
 				ext_csd[EXT_CSD_STRUCTURE]);
-			return error;
+			return ENOTSUP;
 		}
 		hs_timing = 0;
 		switch (ext_csd[EXT_CSD_CARD_TYPE]) {
@@ -761,7 +761,7 @@ sdmmc_mem_mmc_init(struct sdmmc_softc *s
 			aprint_error_dev(sc->sc_dev,
 			    "unknown CARD_TYPE: 0x%x\n",
 			    ext_csd[EXT_CSD_CARD_TYPE]);
-			return error;
+			return ENOTSUP;
 		}
 
 		if (!ISSET(sc->sc_caps, SMC_CAPS_MMC_HIGHSPEED)) {

Index: src/sys/fs/nfs/common/krpc_subr.c
diff -u src/sys/fs/nfs/common/krpc_subr.c:1.1.1.1 src/sys/fs/nfs/common/krpc_subr.c:1.1.1.1.8.1
--- src/sys/fs/nfs/common/krpc_subr.c:1.1.1.1	Mon Sep 30 07:19:32 2013
+++ src/sys/fs/nfs/common/krpc_subr.c	Mon Feb 16 21:25:34 2015
@@ -44,7 +44,7 @@
 
 #include <sys/cdefs.h>
 /* __FBSDID("FreeBSD: head/sys/nfs/krpc_subr.c 248207 2013-03-12 13:42:47Z glebius "); */
-__RCSID("$NetBSD: krpc_subr.c,v 1.1.1.1 2013/09/30 07:19:32 dholland Exp $");
+__RCSID("$NetBSD: krpc_subr.c,v 1.1.1.1.8.1 2015/02/16 21:25:34 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -169,7 +169,7 @@ krpc_portmap(struct sockaddr_in *sin, u_
 	error = krpc_call(sin, PMAPPROG, PMAPVERS,
 					  PMAPPROC_GETPORT, &m, NULL, td);
 	if (error)
-		return error;
+		goto out;
 
 	if (m->m_len < sizeof(*rdata)) {
 		m = m_pullup(m, sizeof(*rdata));
@@ -179,8 +179,9 @@ krpc_portmap(struct sockaddr_in *sin, u_
 	rdata = mtod(m, struct rdata *);
 	*portp = rdata->port;
 
+out:
 	m_freem(m);
-	return 0;
+	return error;
 }
 
 /*

Index: src/sys/fs/udf/udf_subr.c
diff -u src/sys/fs/udf/udf_subr.c:1.125 src/sys/fs/udf/udf_subr.c:1.125.2.1
--- src/sys/fs/udf/udf_subr.c:1.125	Tue Jul 29 15:36:43 2014
+++ src/sys/fs/udf/udf_subr.c	Mon Feb 16 21:25:35 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_subr.c,v 1.125 2014/07/29 15:36:43 reinoud Exp $ */
+/* $NetBSD: udf_subr.c,v 1.125.2.1 2015/02/16 21:25:35 martin Exp $ */
 
 /*
  * Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -29,7 +29,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: udf_subr.c,v 1.125 2014/07/29 15:36:43 reinoud Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udf_subr.c,v 1.125.2.1 2015/02/16 21:25:35 martin Exp $");
 #endif /* not lint */
 
 
@@ -5334,8 +5334,9 @@ udf_get_node(struct udf_mount *ump, stru
 
 	/* always return locked vnode */
 	if ((error = vn_lock(nvp, LK_EXCLUSIVE | LK_RETRY))) {
-		/* recycle vnode and unlock; simultanious will fail too */
+		/* recycle vnode and unlock; simultaneous will fail too */
 		ungetnewvnode(nvp);
+		pool_put(&udf_node_pool, udf_node);
 		mutex_exit(&ump->get_node_lock);
 		return error;
 	}

Index: src/sys/modules/lua/lua.c
diff -u src/sys/modules/lua/lua.c:1.13.2.1 src/sys/modules/lua/lua.c:1.13.2.2
--- src/sys/modules/lua/lua.c:1.13.2.1	Mon Dec  1 13:13:15 2014
+++ src/sys/modules/lua/lua.c	Mon Feb 16 21:25:35 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: lua.c,v 1.13.2.1 2014/12/01 13:13:15 martin Exp $ */
+/*	$NetBSD: lua.c,v 1.13.2.2 2015/02/16 21:25:35 martin Exp $ */
 
 /*
  * Copyright (c) 2014 by Lourival Vieira Neto <[email protected]>.
@@ -653,8 +653,10 @@ klua_newstate(lua_Alloc f, void *ud, con
 		sc->sc_state = true;
 	mutex_exit(&sc->sc_state_lock);
 
-	if (error)
+	if (error) {
+		kmem_free(s, sizeof(struct lua_state));
 		return NULL;
+	}
 
 	K = kmem_zalloc(sizeof(klua_State), KM_SLEEP);
 	K->L = lua_newstate(f, ud);

Index: src/sys/ufs/chfs/chfs_scan.c
diff -u src/sys/ufs/chfs/chfs_scan.c:1.4.12.1 src/sys/ufs/chfs/chfs_scan.c:1.4.12.2
--- src/sys/ufs/chfs/chfs_scan.c:1.4.12.1	Mon Sep  8 18:57:58 2014
+++ src/sys/ufs/chfs/chfs_scan.c	Mon Feb 16 21:25:34 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: chfs_scan.c,v 1.4.12.1 2014/09/08 18:57:58 msaitoh Exp $	*/
+/*	$NetBSD: chfs_scan.c,v 1.4.12.2 2015/02/16 21:25:34 martin Exp $	*/
 
 /*-
  * Copyright (c) 2010 Department of Software Engineering,
@@ -461,6 +461,7 @@ chfs_scan_eraseblock(struct chfs_mount *
 			read_free += CHFS_NODE_HDR_SIZE;
 			if (read_free >= MAX_READ_FREE(chmp)) {
 				dbg("rest of the block is free. Size: %d\n", cheb->free_size);
+				kmem_free(buf, CHFS_MAX_NODE_SIZE);
 				return chfs_scan_classify_cheb(chmp, cheb);
 			}
 			ofs += CHFS_NODE_HDR_SIZE;

Index: src/sys/ufs/chfs/ebh.c
diff -u src/sys/ufs/chfs/ebh.c:1.3.14.1 src/sys/ufs/chfs/ebh.c:1.3.14.2
--- src/sys/ufs/chfs/ebh.c:1.3.14.1	Mon Sep  8 18:57:58 2014
+++ src/sys/ufs/chfs/ebh.c	Mon Feb 16 21:25:34 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: ebh.c,v 1.3.14.1 2014/09/08 18:57:58 msaitoh Exp $	*/
+/*	$NetBSD: ebh.c,v 1.3.14.2 2015/02/16 21:25:34 martin Exp $	*/
 
 /*-
  * Copyright (c) 2010 Department of Software Engineering,
@@ -1956,8 +1956,10 @@ ebh_map_leb(struct chfs_ebh *ebh, int ln
 	ebhdr = kmem_alloc(sizeof(struct chfs_eb_hdr), KM_SLEEP);
 
 	err = leb_write_lock(ebh, lnr);
-	if (err)
+	if (err) {
+		kmem_free(ebhdr, sizeof(struct chfs_eb_hdr));
 		return err;
+	}
 
 retry:
 	pebnr = get_peb(ebh);

Reply via email to