--- ./net/ipv4/fib_hash.c.debug 2007-07-06 18:38:44.000000000 +0400 +++ ./net/ipv4/fib_hash.c 2007-07-23 17:40:44.000000000 +0400 @@ -715,6 +715,7 @@ int init_ve_route(struct ve_struct *ve) ve->_main_table = fib_hash_init(RT_TABLE_MAIN); if (!ve->_main_table) { fib_hash_destroy(ve->_local_table); + ve->_local_table = NULL; return -ENOMEM; } @@ -734,6 +735,7 @@ void fini_ve_route(struct ve_struct *ve) #else fib_hash_destroy(ve->_local_table); fib_hash_destroy(ve->_main_table); + ve->_local_table = ve->_main_table = NULL; #endif bytes = ve->_fib_hash_size * sizeof(struct hlist_head *); fib_hash_free(ve->_fib_info_hash, bytes); --- ./net/ipv4/fib_rules.c.debug 2007-07-06 18:38:44.000000000 +0400 +++ ./net/ipv4/fib_rules.c 2007-07-23 17:39:36.000000000 +0400 @@ -155,6 +155,7 @@ void fib_rules_destroy(void) fib_rule_put(r); } rtnl_unlock(); + fib4_rules = NULL; #endif } #endif