Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Dec 2013 07:55:50 +0000 (UTC)
From:      Craig Rodrigues <rodrigc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r258913 - stable/10/sys/net
Message-ID:  <201312040755.rB47toWF015687@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312040755.rB47toWF015687>