Messages in this thread Patch in this message | | | Date | Thu, 29 Mar 2001 15:20:45 +0100 (BST) | From | Hugh Dickins <> | Subject | [PATCH] sparc64 module_map dont vfree |
| |
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/
| |