Re: [Patch 4/4] module: trim exception table in module_free()

Amerigo Wang
2009-05-27T05:46:57Z

Rusty Russell wrote:
> __ex_table ends up with two entries:
>
> Contents of section __ex_table:
> 0000 0c000000 00000000 0e000000 00000000 ................
> 0010 10000000 0a000000 12000000 0a000000 ................
>
> The first is for the __put_user in .text (extable_not_init()) and the second is
> for the one in .init.text (init()).
>
> Depending on how the module gets allocated, the one referring to .init.text
> may be first or last.
>

Hmm, I understand now. The problem is that we don't know which entries
are for __init, and which are not...

> (You can see here why we haven't fixed this: exceptions in __init in modules
> are rare, perhaps non-existent).
>
Agreed.
Is it possible to put extable for __init in a separate section?

Thanks for your explanation!