public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sys_init_module refuses to load module without init code/data sections
@ 2002-11-19 19:38 Juan M. de la Torre
  2002-11-20  7:35 ` Rusty Russell
  0 siblings, 1 reply; 2+ messages in thread
From: Juan M. de la Torre @ 2002-11-19 19:38 UTC (permalink / raw)
  To: Rusty Russell; +Cc: linux-kernel


  load_module() stores in mod->init_size the size of init data and init
 code sections, and later allocs (using module_alloc()) mod->init_size
 bytes. 

  If the module has not init data and init code sections mod->init_size
 is 0, so module_alloc() will return NULL and load_module() will abort
 loading the module with -ENOMEM.

 Possible patch attached, sorry if this is a known issue.

 Best regards,
  Juanma


--- linux-2.5.48/kernel/module.c.orig   Tue Nov 19 20:08:52 2002
+++ linux-2.5.48/kernel/module.c        Tue Nov 19 20:37:47 2002
@@ -972,13 +972,15 @@
        memset(ptr, 0, mod->core_size);
        mod->module_core = ptr;

-       ptr = module_alloc(mod->init_size);
-       if (!ptr) {
-               err = -ENOMEM;
-               goto free_core;
-       }
-       memset(ptr, 0, mod->init_size);
-       mod->module_init = ptr;
+       if (mod->init_size) {
+               ptr = module_alloc(mod->init_size);
+               if (!ptr) {
+                       err = -ENOMEM;
+                       goto free_core;
+               }
+               memset(ptr, 0, mod->init_size);
+               mod->module_init = ptr;
+       }

        /* Transfer each section which requires ALLOC, and set sh_offset
           fields to absolute addresses. */

-- 
/jm


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] sys_init_module refuses to load module without init code/data sections
  2002-11-19 19:38 [PATCH] sys_init_module refuses to load module without init code/data sections Juan M. de la Torre
@ 2002-11-20  7:35 ` Rusty Russell
  0 siblings, 0 replies; 2+ messages in thread
From: Rusty Russell @ 2002-11-20  7:35 UTC (permalink / raw)
  To: Juan M. de la Torre; +Cc: linux-kernel

In message <20021119193857.GA406@apocalipsis> you write:
> 
>   load_module() stores in mod->init_size the size of init data and init
>  code sections, and later allocs (using module_alloc()) mod->init_size
>  bytes. 

Yep, fix already sent to Linus.

Thanks,
Rusty.
--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-11-20  7:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-11-19 19:38 [PATCH] sys_init_module refuses to load module without init code/data sections Juan M. de la Torre
2002-11-20  7:35 ` Rusty Russell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox