vserver 1.9.5.x5
[linux-2.6.git] / fs / ntfs / malloc.h
index c921960..fac5944 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <linux/vmalloc.h>
 #include <linux/slab.h>
+#include <linux/highmem.h>
 
 /**
  * ntfs_malloc_nofs - allocate memory in multiples of pages
 static inline void *ntfs_malloc_nofs(unsigned long size)
 {
        if (likely(size <= PAGE_SIZE)) {
-               if (likely(size)) {
-                       /* kmalloc() has per-CPU caches so is faster for now. */
-                       return kmalloc(PAGE_SIZE, GFP_NOFS);
-                       /* return (void *)__get_free_page(GFP_NOFS |
-                                       __GFP_HIGHMEM); */
-               }
-               BUG();
+               BUG_ON(!size);
+               /* kmalloc() has per-CPU caches so is faster for now. */
+               return kmalloc(PAGE_SIZE, GFP_NOFS);
+               /* return (void *)__get_free_page(GFP_NOFS | __GFP_HIGHMEM); */
        }
        if (likely(size >> PAGE_SHIFT < num_physpages))
                return __vmalloc(size, GFP_NOFS | __GFP_HIGHMEM, PAGE_KERNEL);
@@ -54,8 +52,9 @@ static inline void ntfs_free(void *addr)
 {
        if (likely(((unsigned long)addr < VMALLOC_START) ||
                        ((unsigned long)addr >= VMALLOC_END ))) {
-               return kfree(addr);
-               /* return free_page((unsigned long)addr); */
+               kfree(addr);
+               /* free_page((unsigned long)addr); */
+               return;
        }
        vfree(addr);
 }