diff --git a/[refs] b/[refs] index 4cc8b844854a..488ad53e76dd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c2cddf991974a00aa7b40a21e829bc034b8199b6 +refs/heads/master: 92ca922f0a19145f2dcc99d84fe656fa55b52c2e diff --git a/trunk/mm/vmalloc.c b/trunk/mm/vmalloc.c index e03f4c7307a5..7e25ee3ce6e5 100644 --- a/trunk/mm/vmalloc.c +++ b/trunk/mm/vmalloc.c @@ -413,11 +413,11 @@ static struct vmap_area *alloc_vmap_area(unsigned long size, if (addr + size - 1 < addr) goto overflow; - n = rb_next(&first->rb_node); - if (n) - first = rb_entry(n, struct vmap_area, rb_node); - else + if (list_is_last(&first->list, &vmap_area_list)) goto found; + + first = list_entry(first->list.next, + struct vmap_area, list); } found: