[PATCH v1 0/3] module: Don't fail module loading when setting ro_after_init section RO failed
From: Christophe Leroy
Date: Thu Dec 05 2024 - 15:20:15 EST
This series reworks module loading to avoid leaving the module in a
stale state when protecting ro_after_init section fails.
Once module init has succeded it is too late to cancel loading.
If setting ro_after_init data section to read-only fails, all we can
do is to inform the user through a warning. This is what patch 2 does.
Then patch 3 tries to go a bit further by testing the ability to write
protect ro-after-init section prior to initialising the module.
Changes between RFC and v1:
- Patch 2: Fixed comment from Petr about __func__
- Patch 3: Expanded the commit message based on feedback from RFC series
Christophe Leroy (3):
module: Split module_enable_rodata_ro()
module: Don't fail module loading when setting ro_after_init section
RO failed
module: pre-test setting ro_after_init data read-only
kernel/module/internal.h | 3 ++-
kernel/module/main.c | 13 +++++++------
kernel/module/strict_rwx.c | 16 ++++++++++++----
3 files changed, 21 insertions(+), 11 deletions(-)
--
2.47.0