Merge branch 'for-4.6-ns' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
[linux-2.6-block.git] / mm / vmalloc.c
index fb42a5bffe4733f6e5b1e65d09009934ef2b781b..ae7d20b447ffbd74da85e85201ed668d758d9e1b 100644 (file)
@@ -469,8 +469,8 @@ overflow:
                goto retry;
        }
        if (printk_ratelimit())
-               pr_warn("vmap allocation for size %lu failed: "
-                       "use vmalloc=<size> to increase size.\n", size);
+               pr_warn("vmap allocation for size %lu failed: use vmalloc=<size> to increase size\n",
+                       size);
        kfree(va);
        return ERR_PTR(-EBUSY);
 }
@@ -531,22 +531,21 @@ static void unmap_vmap_area(struct vmap_area *va)
 static void vmap_debug_free_range(unsigned long start, unsigned long end)
 {
        /*
-        * Unmap page tables and force a TLB flush immediately if
-        * CONFIG_DEBUG_PAGEALLOC is set. This catches use after free
-        * bugs similarly to those in linear kernel virtual address
-        * space after a page has been freed.
+        * Unmap page tables and force a TLB flush immediately if pagealloc
+        * debugging is enabled.  This catches use after free bugs similarly to
+        * those in linear kernel virtual address space after a page has been
+        * freed.
         *
-        * All the lazy freeing logic is still retained, in order to
-        * minimise intrusiveness of this debugging feature.
+        * All the lazy freeing logic is still retained, in order to minimise
+        * intrusiveness of this debugging feature.
         *
-        * This is going to be *slow* (linear kernel virtual address
-        * debugging doesn't do a broadcast TLB flush so it is a lot
-        * faster).
+        * This is going to be *slow* (linear kernel virtual address debugging
+        * doesn't do a broadcast TLB flush so it is a lot faster).
         */
-#ifdef CONFIG_DEBUG_PAGEALLOC
-       vunmap_page_range(start, end);
-       flush_tlb_kernel_range(start, end);
-#endif
+       if (debug_pagealloc_enabled()) {
+               vunmap_page_range(start, end);
+               flush_tlb_kernel_range(start, end);
+       }
 }
 
 /*
@@ -1086,7 +1085,7 @@ void vm_unmap_ram(const void *mem, unsigned int count)
        BUG_ON(!addr);
        BUG_ON(addr < VMALLOC_START);
        BUG_ON(addr > VMALLOC_END);
-       BUG_ON(!IS_ALIGNED(addr, PAGE_SIZE));
+       BUG_ON(!PAGE_ALIGNED(addr));
 
        debug_check_no_locks_freed(mem, size);
        vmap_debug_free_range(addr, addr+size);