Re: [PATCH][RFC] __init and friends support for loadable modules

Rusty Russell (rusty@rustcorp.com.au)
Thu, 9 May 2002 17:45:50 +1000


On Thu, 09 May 2002 00:02:07 +1000
Keith Owens <kaos@ocs.com.au> wrote:

> On Wed, 8 May 2002 14:29:33 +0400,
> Andrey Panin <pazke@orbita1.ru> wrote:
> >attached patch adds support for freeing .init sections of loadable modules
> >after init_module() function exits. Modutils have support for this since 19=
> >98,
> >but kernel support didn't exist.
>
> The main reason I have not done this myself is the interaction between
> freeing code areas and the exception and unwind tables. When you free
> code, you should remove or nullify the related unwind and exception
> entries. Another module could be loaded into the area that used to
> contain init code and it would then be mapped by the first module's
> tables, oops.

Excellent catch, Keith. I missed this in my current implementation, and
will have to patch the exception tables in the init release callback. I
also get around this because I allow archs to refuse to have separate
init and core sections if they want.

BTW, I just got ppc64 in-kernel relocations working. I am starting on
ia64, in the theory that if you can do ia64, you can do anything.

Cheers,
Rusty.

-- 
   there are those who do and those who hang on and you don't see too
   many doers quoting their contemporaries.  -- Larry McVoy
-
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/