BUG_ON(!tn);  
static struct node *trie_rebalance(struct trie *t, struct tnode *tn){	int i;	int wasfull;	t_key cindex, key;	struct tnode *tp = NULL;	BUG_ON(!tn);	key = tn->key;	i = 0;	while (tn != NULL && NODE_PARENT(tn) != NULL) {		if (i > 10) {			printk("Rebalance tn=%p \n", tn);			if (tn)				printk("tn->parent=%p \n", NODE_PARENT(tn));			printk("Rebalance tp=%p \n", tp);			if (tp)				printk("tp->parent=%p \n", NODE_PARENT(tp));		}		BUG_ON(i > 12); /* Why is this a bug? -ojn */		i++;		tp = NODE_PARENT(tn);		cindex = tkey_extract_bits(key, tp->pos, tp->bits);		wasfull = tnode_full(tp, tnode_get_child(tp, cindex));		tn = (struct tnode *) resize (t, (struct tnode *)tn);		tnode_put_child_reorg((struct tnode *)tp, cindex,(struct node*)tn, wasfull);		if (!NODE_PARENT(tn))			break;		tn = NODE_PARENT(tn);	}	/* Handle last (top) tnode */	if (IS_TNODE(tn))		tn = (struct tnode*) resize(t, (struct tnode *)tn);	return (struct node*) tn;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0c7770c740156c8802c23d24fc094d06967d997d/fib_trie.c/buggy/net/ipv4/fib_trie.c