Re: [PATCH v2 0/5] Allocate module text and data separately

From: Miroslav Benes
Date: Wed Feb 09 2022 - 10:43:09 EST


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