Re: [PATCH][RFC] disable built-in modules V2

From: Richard B. Johnson
Date: Thu Apr 07 2005 - 12:25:52 EST


On Thu, 7 Apr 2005, Randy.Dunlap wrote:

On Thu, 7 Apr 2005 10:23:32 +0200 Magnus Damm wrote:

| On Apr 7, 2005 4:23 AM, Roland Dreier <roland@xxxxxxxxxxx> wrote:
| > > > -#define module_init(x) __initcall(x);
| > > > +#define module_init(x) __initcall(x); __module_init_disable(x);
| > >
| > > It would be better if there is brackets around them... like
| > >
| > > #define module_init(x) { __initcall(x); __module_init_disable(x); }
| > >
| > > then we know it wont break some code like
| > >
| > > if (..)
| > > module_init(x);
| >
| > This is all completely academic, since module_init() is a declaration
| > that won't be inside any code, but in general it's better still to use
| > the do { } while (0) idiom like
| >
| > #define module_init(x) do { __initcall(x); __module_init_disable(x); } while (0)
| >
| > so it won't break code like
| >
| > if (..)
| > module_init(x);
| > else
| > something_else();
| >
| > (Yes, that code is nonsense but if you're going to nitpick, go all the way...)
|
| Right. =)
| Anyway, besides nitpicking, is there any reason not to include this
| code? Or is the added feature considered plain bloat? Yes, the kernel
| will become a bit larger, but all the data added by this patch will go
| into the init section.

Looks like a good idea to me.

---
~Randy

Can't you disable module-loading with a module? I think so.
You don't need to modify the kernel. Boot-scripts could
just load the "final" module and there is nothing that
can be done to add another module (or even unload existing
ones).

Cheers,
Dick Johnson
Penguin : Linux version 2.6.11 on an i686 machine (5537.79 BogoMips).
Notice : All mail here is now cached for review by Dictator Bush.
98.36% of all statistics are fiction.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/