--- a/net/ipv4/fib_hash.c 2004/09/20 00:35:16 1.1 +++ b/net/ipv4/fib_hash.c 2004/09/20 13:30:56 @@ -915,7 +915,7 @@ iter->zone = iter->zone->fz_next) { int maxslot; - if (!iter->zone->fz_next) + if (!iter->zone->fz_nent) continue; iter->hash = iter->zone->fz_hash; @@ -958,10 +958,13 @@ goto out; } +get_next_zone: iter->zone = iter->zone->fz_next; if (!iter->zone) goto out; + if (!iter->zone->fz_nent) + goto get_next_zone; iter->hash = iter->zone->fz_hash; iter->bucket = 0;