Re: [PATCH 6/8] fs/ext3: use rbtree postorder iteration helper insteadof opencoding

From: Cody P Schafer
Date: Mon Nov 04 2013 - 20:33:47 EST


On 11/04/2013 04:45 PM, Jan Kara wrote:
On Mon 04-11-13 15:26:38, Jan Kara wrote:
On Fri 01-11-13 15:38:50, Cody P Schafer wrote:
Use rbtree_postorder_for_each_entry_safe() to destroy the rbtree instead
of opencoding an alternate postorder iteration that modifies the tree
Thanks. I've merged the patch into my tree.
Hum, except that the kernel oopses with this patch. And I think the
problem is in rbtree_postorder_for_each_entry_safe(). How are those tests
for NULL supposed to work? For example if the tree is empty, 'pos' will be
NULL and you'll call rb_next_postorder(&NULL->field) which is pretty much
guaranteed to oops if 'field' doesn't have offset 0 in the structure...


You're absolutely right, those NULL checks are wrong when the rb_node isn't the first element. Fix incoming shortly.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/