svn commit: r258913 - stable/10/sys/net

Craig Rodrigues rodrigc at FreeBSD.org
Wed Dec 4 07:55:50 UTC 2013


Author: rodrigc
Date: Wed Dec  4 07:55:49 2013
New Revision: 258913
URL: http://svnweb.freebsd.org/changeset/base/258913

Log:
  MFC 258591
  In vnet_route_uninit(), free some memory that is allocated in vnet_route_init().
  
  To reproduce the problem:
    (1)  Take a GENERIC kernel config, and add options for: VIMAGE, WITNESS,
         INVARIANTS.
    (2)  Run this command in a loop:
         jail -l -u root -c path=/ name=foo persist vnet && jexec foo ifconfig lo0 127.0.0.1/8 && jail -r foo
  
         see: http://lists.freebsd.org/pipermail/freebsd-current/2010-November/021280.html
              http://lists.freebsd.org/pipermail/freebsd-current/2010-November/021291.html
  
  This doesn't eliminate all the "Freed UMA keg was not empty" warning messages
  on the console, but it helps.
  
  Approved by: re (gjb)

Modified:
  stable/10/sys/net/route.c
Directory Properties:
  stable/10/sys/   (props changed)

Modified: stable/10/sys/net/route.c
==============================================================================
--- stable/10/sys/net/route.c	Wed Dec  4 07:50:18 2013	(r258912)
+++ stable/10/sys/net/route.c	Wed Dec  4 07:55:49 2013	(r258913)
@@ -262,6 +262,9 @@ vnet_route_uninit(const void *unused __u
 			dom->dom_rtdetach((void **)rnh, dom->dom_rtoffset);
 		}
 	}
+
+	free(V_rt_tables, M_RTABLE);
+	uma_zdestroy(V_rtzone);
 }
 VNET_SYSUNINIT(vnet_route_uninit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD,
     vnet_route_uninit, 0);


More information about the svn-src-stable-10 mailing list