rcu_read_unlock(); 
static int fn_trie_flush(struct fib_table *tb){	struct trie *t = (struct trie *) tb->tb_data;	struct leaf *ll = NULL, *l = NULL;	int found = 0, h;	t->revision++;	rcu_read_lock();	for (h = 0; (l = nextleaf(t, l)) != NULL; h++) {		found += trie_flush_leaf(t, l);		if (ll && hlist_empty(&ll->list))			trie_leaf_remove(t, ll->key);		ll = l;	}	rcu_read_unlock();  	if (ll && hlist_empty(&ll->list))		trie_leaf_remove(t, ll->key);	pr_debug("trie_flush found=%d\n", found);	return found;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/772cb712b1373d335ef2874ea357ec681edc754b/fib_trie.c/buggy/net/ipv4/fib_trie.c