[PATCH] sparc64 module_map dont vfree

From: Hugh Dickins (hugh@veritas.com)
Date: Thu Mar 29 2001 - 09:20:45 EST


sparc64 has a module_map() modelled on vmalloc(), but using a separate
modvmlist of areas. After allocating an area, if the call to allocate
the pages and map them in fails, it needs to free that area: which at
present it's trying to do by calling vfree() - but that searches vmlist
not modvmlist. It should be calling its own module_unmap() instead.
Patch below against 2.4.2-ac28 or 2.4.3-pre8.

Hugh

--- 2.4.2-ac28/arch/sparc64/mm/modutil.c Mon Feb 19 03:49:54 2001
+++ linux/arch/sparc64/mm/modutil.c Wed Mar 28 14:31:49 2001
@@ -59,7 +59,7 @@
         *p = area;
 
         if (vmalloc_area_pages(VMALLOC_VMADDR(addr), size, GFP_KERNEL, PAGE_KERNEL)) {
- vfree(addr);
+ module_unmap(addr);
                 return NULL;
         }
         return addr;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Mar 31 2001 - 21:00:21 EST