Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08cfeacb6bcb37c5cf1a9bc0c930243634631f09
Commit:     08cfeacb6bcb37c5cf1a9bc0c930243634631f09
Parent:     b4945a90d00f9ada1fd76fd7bd591e9ae54ca8b4
Author:     Jesper Nilsson <[EMAIL PROTECTED]>
AuthorDate: Mon Jan 28 16:28:10 2008 +0100
Committer:  Jesper Nilsson <[EMAIL PROTECTED]>
CommitDate: Fri Feb 8 11:06:36 2008 +0100

    CRIS: Add configuration possibility for using kmalloc for modules.
    
    Using kmalloc instead of vmalloc solves the stability problems
    experienced by some 100 LX products.
---
 arch/cris/kernel/module.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/arch/cris/kernel/module.c b/arch/cris/kernel/module.c
index 11b867d..a187833 100644
--- a/arch/cris/kernel/module.c
+++ b/arch/cris/kernel/module.c
@@ -28,20 +28,28 @@
 #define DEBUGP(fmt , ...)
 #endif
 
+#ifdef CONFIG_ETRAX_KMALLOCED_MODULES
+#define MALLOC_MODULE(size) kmalloc(size, GFP_KERNEL)
+#define FREE_MODULE(region) kfree(region)
+#else
+#define MALLOC_MODULE(size) vmalloc_exec(size)
+#define FREE_MODULE(region) vfree(region)
+#endif
+
 void *module_alloc(unsigned long size)
 {
        if (size == 0)
                return NULL;
-       return vmalloc_exec(size);
+       return MALLOC_MODULE(size);
 }
 
 
 /* Free memory returned from module_alloc */
 void module_free(struct module *mod, void *module_region)
 {
-       vfree(module_region);
+       FREE_MODULE(module_region);
        /* FIXME: If module_region == mod->init_region, trim exception
-           table entries. */
+          table entries. */
 }
 
 /* We don't need anything special. */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to