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