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);
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to