Re: [GIT PULL] Modules updates for v5.13

From: Jessica Yu
Date: Thu Apr 29 2021 - 07:37:08 EST


+++ Jessica Yu [28/04/21 14:58 +0200]:
Hi Linus,

Please pull below to receive modules updates for the v5.13 merge window.
A summary can be found in the signed tag.

Thank you,

Jessica

Ugh, I had forgotten to sign the tag. Should be fixed now, sorry about that.

--
The following changes since commit 1e28eed17697bcf343c6743f0028cc3b5dd88bf0:

Linux 5.12-rc3 (2021-03-14 14:41:02 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux.git tags/modules-for-v5.13

for you to fetch changes up to 33121347fb1c359bd6e3e680b9f2c6ced5734a81:

module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD (2021-03-29 13:08:53 +0200)

----------------------------------------------------------------
Modules updates for v5.13

Summary of modules changes for the 5.13 merge window:

- Fix an age old bug involving jump_calls and static_labels when
CONFIG_MODULE_UNLOAD=n. When CONFIG_MODULE_UNLOAD=n, it means you
can't unload modules, so normally the __exit sections of a module are
not loaded at all. However, dynamic code patching (jump_label,
static_call, alternatives) can have sites in __exit sections even if
__exit is never executed.

Reported by Peter Zijlstra: "Alternatives, jump_labels and static_call
all can have relocations into __exit code. Not loading it at all would
be BAD." Therefore, load the __exit sections even when
CONFIG_MODULE_UNLOAD=n, and discard them after init.

Signed-off-by: Jessica Yu <jeyu@xxxxxxxxxx>

----------------------------------------------------------------
Jessica Yu (1):
module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD

kernel/module.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)