write_lock_bh(&fib_lock); hlist_del(&li->hlist); write_unlock_bh(&fib_lock);  
hlist_del_rcu(&li->hlist); 
static int trie_flush_leaf(struct trie *t, struct leaf *l){	int found = 0;	struct hlist_head *lih = &l->list;	struct hlist_node *node, *tmp;	struct leaf_info *li = NULL;	hlist_for_each_entry_safe(li, node, tmp, lih, hlist) {		found += trie_flush_list(t, &li->falh);		if (list_empty(&li->falh)) { 			write_lock_bh(&fib_lock);			hlist_del(&li->hlist);			write_unlock_bh(&fib_lock);			free_leaf_info(li);		}	}	return found;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2373ce1ca04dd46bf2b8b0f9a799eb2a90da92fb/fib_trie.c/buggy/net/ipv4/fib_trie.c