[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <YKIhtYArH24372TZ@p200300cbcf361a0029e37a38368d6727.dip0.t-ipconnect.de>
Date: Mon, 17 May 2021 09:56:37 +0200
From: Jessica Yu <jeyu@...nel.org>
To: "Russell King (Oracle)" <linux@...linux.org.uk>
Cc: linux-kernel@...r.kernel.org, Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH v2] module: check for exit sections in layout_sections()
instead of module_init_section()
+++ Russell King (Oracle) [14/05/21 18:09 +0100]:
>On Fri, May 14, 2021 at 06:09:04PM +0200, Jessica Yu wrote:
>> Previously, when CONFIG_MODULE_UNLOAD=n, the module loader just does not
>> attempt to load exit sections since it never expects that any code in those
>> sections will ever execute. However, dynamic code patching (alternatives,
>> jump_label and static_call) can have sites in __exit code, even if __exit is
>> never executed. Therefore __exit must be present at runtime, at least for as
>> long as __init code is.
>>
>> Commit 33121347fb1c ("module: treat exit sections the same as init
>> sections when !CONFIG_MODULE_UNLOAD") solves the requirements of
>> jump_labels and static_calls by putting the exit sections in the init
>> region of the module so that they are at least present at init, and
>> discarded afterwards. It does this by including a check for exit
>> sections in module_init_section(), so that it also returns true for exit
>> sections, and the module loader will automatically sort them in the init
>> region of the module.
>>
>> However, the solution there was not completely arch-independent. ARM is
>> a special case where it supplies its own module_{init, exit}_section()
>> functions. Instead of pushing the exit section checks into
>> module_init_section(), just implement the exit section check in
>> layout_sections(), so that we don't have to touch arch-dependent code.
>>
>> Fixes: 33121347fb1c ("module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD")
>> Signed-off-by: Jessica Yu <jeyu@...nel.org>
>
>Looks good!
>
>Reviewed-by: Russell King (Oracle) <rmk+kernel@...linux.org.uk>
>
>Thanks!
Queued, thanks for the review Russell!
Jessica
Powered by blists - more mailing lists