mm/vmalloc: extend find_vmap_lowest_match_check with extra arguments
[sfrench/cifs-2.6.git] / mm / vmalloc.c
index e68c0081e861b9123584e06a76d39ba57c9de366..a991b909866f29432dc5b4bf2970d6566a4fbf05 100644 (file)
@@ -1300,12 +1300,12 @@ find_vmap_lowest_match(struct rb_root *root, unsigned long size,
 #include <linux/random.h>
 
 static struct vmap_area *
-find_vmap_lowest_linear_match(unsigned long size,
+find_vmap_lowest_linear_match(struct list_head *head, unsigned long size,
        unsigned long align, unsigned long vstart)
 {
        struct vmap_area *va;
 
-       list_for_each_entry(va, &free_vmap_area_list, list) {
+       list_for_each_entry(va, head, list) {
                if (!is_within_this_va(va, size, align, vstart))
                        continue;
 
@@ -1316,7 +1316,8 @@ find_vmap_lowest_linear_match(unsigned long size,
 }
 
 static void
-find_vmap_lowest_match_check(unsigned long size, unsigned long align)
+find_vmap_lowest_match_check(struct rb_root *root, struct list_head *head,
+                            unsigned long size, unsigned long align)
 {
        struct vmap_area *va_1, *va_2;
        unsigned long vstart;
@@ -1325,8 +1326,8 @@ find_vmap_lowest_match_check(unsigned long size, unsigned long align)
        get_random_bytes(&rnd, sizeof(rnd));
        vstart = VMALLOC_START + rnd;
 
-       va_1 = find_vmap_lowest_match(size, align, vstart, false);
-       va_2 = find_vmap_lowest_linear_match(size, align, vstart);
+       va_1 = find_vmap_lowest_match(root, size, align, vstart, false);
+       va_2 = find_vmap_lowest_linear_match(head, size, align, vstart);
 
        if (va_1 != va_2)
                pr_emerg("not lowest: t: 0x%p, l: 0x%p, v: 0x%lx\n",
@@ -1513,7 +1514,7 @@ __alloc_vmap_area(struct rb_root *root, struct list_head *head,
                return vend;
 
 #if DEBUG_AUGMENT_LOWEST_MATCH_CHECK
-       find_vmap_lowest_match_check(size, align);
+       find_vmap_lowest_match_check(root, head, size, align);
 #endif
 
        return nva_start_addr;