svn commit: r256058 - in head/sys: cam/ctl dev/iscsi

Edward Tomasz Napierala trasz at FreeBSD.org
Fri Oct 4 19:31:42 UTC 2013


Author: trasz
Date: Fri Oct  4 19:31:41 2013
New Revision: 256058
URL: http://svnweb.freebsd.org/changeset/base/256058

Log:
  Don't leak memory when removing an unconnected session, and remove useless
  UMA_ZONE_NOFREE that caused another leak when unloading the module.
  
  Approved by:	re (glebius)
  Sponsored by:	FreeBSD Foundation

Modified:
  head/sys/cam/ctl/ctl_frontend_iscsi.c
  head/sys/dev/iscsi/icl.c
  head/sys/dev/iscsi/iscsi.c

Modified: head/sys/cam/ctl/ctl_frontend_iscsi.c
==============================================================================
--- head/sys/cam/ctl/ctl_frontend_iscsi.c	Fri Oct  4 18:44:47 2013	(r256057)
+++ head/sys/cam/ctl/ctl_frontend_iscsi.c	Fri Oct  4 19:31:41 2013	(r256058)
@@ -1255,7 +1255,7 @@ cfiscsi_init(void)
 
 	cfiscsi_data_wait_zone = uma_zcreate("cfiscsi_data_wait",
 	    sizeof(struct cfiscsi_data_wait), NULL, NULL, NULL, NULL,
-	    UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
+	    UMA_ALIGN_PTR, 0);
 
 	return (0);
 

Modified: head/sys/dev/iscsi/icl.c
==============================================================================
--- head/sys/dev/iscsi/icl.c	Fri Oct  4 18:44:47 2013	(r256057)
+++ head/sys/dev/iscsi/icl.c	Fri Oct  4 19:31:41 2013	(r256058)
@@ -957,6 +957,7 @@ icl_pdu_queue(struct icl_pdu *ip)
 	if (ic->ic_disconnecting || ic->ic_socket == NULL) {
 		ICL_DEBUG("icl_pdu_queue on closed connection");
 		ICL_CONN_UNLOCK(ic);
+		icl_pdu_free(ip);
 		return;
 	}
 	TAILQ_INSERT_TAIL(&ic->ic_to_send, ip, ip_next);
@@ -1259,10 +1260,10 @@ icl_load(void)
 
 	icl_conn_zone = uma_zcreate("icl_conn",
 	    sizeof(struct icl_conn), NULL, NULL, NULL, NULL,
-	    UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
+	    UMA_ALIGN_PTR, 0);
 	icl_pdu_zone = uma_zcreate("icl_pdu",
 	    sizeof(struct icl_pdu), NULL, NULL, NULL, NULL,
-	    UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
+	    UMA_ALIGN_PTR, 0);
 
 	refcount_init(&icl_ncons, 0);
 }

Modified: head/sys/dev/iscsi/iscsi.c
==============================================================================
--- head/sys/dev/iscsi/iscsi.c	Fri Oct  4 18:44:47 2013	(r256057)
+++ head/sys/dev/iscsi/iscsi.c	Fri Oct  4 19:31:41 2013	(r256058)
@@ -2030,7 +2030,7 @@ iscsi_load(void)
 
 	iscsi_outstanding_zone = uma_zcreate("iscsi_outstanding",
 	    sizeof(struct iscsi_outstanding), NULL, NULL, NULL, NULL,
-	    UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
+	    UMA_ALIGN_PTR, 0);
 
 	error = make_dev_p(MAKEDEV_CHECKNAME, &sc->sc_cdev, &iscsi_cdevsw,
 	    NULL, UID_ROOT, GID_WHEEL, 0600, "iscsi");


More information about the svn-src-all mailing list