Message ID | cover.1643282353.git.christophe.leroy@csgroup.eu (mailing list archive) |
---|---|
Headers | show |
Series | Allocate module text and data separately | expand |
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