return va;
 }
 
-static struct vmap_area *__find_vmap_area(unsigned long addr)
+static struct vmap_area *__find_vmap_area(unsigned long addr, struct rb_root *root)
 {
-       struct rb_node *n = vmap_area_root.rb_node;
+       struct rb_node *n = root->rb_node;
 
        addr = (unsigned long)kasan_reset_tag((void *)addr);
 
        struct vmap_area *va;
 
        spin_lock(&vmap_area_lock);
-       va = __find_vmap_area(addr);
+       va = __find_vmap_area(addr, &vmap_area_root);
        spin_unlock(&vmap_area_lock);
 
        return va;
        might_sleep();
 
        spin_lock(&vmap_area_lock);
-       va = __find_vmap_area((unsigned long)addr);
+       va = __find_vmap_area((unsigned long)addr, &vmap_area_root);
        if (va && va->vm) {
                struct vm_struct *vm = va->vm;