[PATCH v2 0/5] Allocate module text and data separately
Miroslav Benes
mbenes at suse.cz
Thu Feb 10 02:42:55 AEDT 2022
On Thu, 27 Jan 2022, Christophe Leroy wrote:
> This series allow architectures to request having modules data in
> vmalloc area instead of module area.
>
> This is required on powerpc book3s/32 in order to set data non
> executable, because it is not possible to set executability on page
> basis, this is done per 256 Mbytes segments. The module area has exec
> right, vmalloc area has noexec. Without this change module data
> remains executable regardless of CONFIG_STRICT_MODULES_RWX.
>
> This can also be useful on other powerpc/32 in order to maximize the
> chance of code being close enough to kernel core to avoid branch
> trampolines.
>
> Changes in v2:
> - Dropped first two patches which are not necessary. They may be added back later as a follow-up series.
> - Fixed the printks in GDB
>
> Christophe Leroy (5):
> modules: Always have struct mod_tree_root
> modules: Prepare for handling several RB trees
> modules: Introduce data_layout
> modules: Add CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC
> powerpc: Select ARCH_WANTS_MODULES_DATA_IN_VMALLOC on book3s/32 and
> 8xx
>
> arch/Kconfig | 6 ++
> arch/powerpc/Kconfig | 1 +
> include/linux/module.h | 8 ++
> kernel/debug/kdb/kdb_main.c | 10 +-
> kernel/module.c | 193 +++++++++++++++++++++++++-----------
> 5 files changed, 156 insertions(+), 62 deletions(-)
Looks good to me apart from the typo I mentioned at v1. I will review
again once it is rebased on Aaron's patch set.
Regards,
Miroslav
More information about the Linuxppc-dev
mailing list