Re: [PATCH] kvm tools: fix rbtree-interval search

From: William Dauchy
Date: Mon Oct 29 2012 - 12:58:48 EST


On Oct29 14:12, Kirill A. Shutemov wrote:
> I've noticed message on kvm exit:
>
> Warning: serial8250__exit failed.
>
> kvm tool is not able to remove ioport range which was added previously.
>
> The issue is caused by bug in rbtree-interval. Search algorithm in
> rb_int_search_single() expects correct value of max_high. But the tree
> can contain leaf nodes, which never were updated by propagate_callback().
> For this kind of nodes high_max will be 0 and we will not be able to
> find and remove them.
>
> Let's initialize max_high on RB_INT_INIT() time.
>
> Fixing this bug makes other bug visible: propagate_callback() can be
> called for empty tree: node == NULL. The callback is not ready for empty
> tree. Let's fix that as well.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>

I had the same issue but didn't found the time to fix it.
Applying the patch fixes the problem.

Tested-by: William Dauchy <william@xxxxxxxxx>

Thanks,
--
William

Attachment: signature.asc
Description: Digital signature