Replace the reliance on the EXECMEM_DEFAULT fallback by explicitly defining the execution memory (execmem) regions for MODULE_TEXT, MODULE_DATA, and FTRACE in execmem_arch_setup(). Signed-off-by: Adrian Barnaƛ --- arch/arm64/mm/init.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 96711b8578fd..c673a9a839dd 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -519,7 +519,7 @@ struct execmem_info __init *execmem_arch_setup(void) execmem_info = (struct execmem_info){ .ranges = { - [EXECMEM_DEFAULT] = { + [EXECMEM_MODULE_TEXT] = { .start = start, .end = end, .pgprot = PAGE_KERNEL, @@ -533,12 +533,28 @@ struct execmem_info __init *execmem_arch_setup(void) .pgprot = PAGE_KERNEL_ROX, .alignment = 1, }, + [EXECMEM_FTRACE] = { + .start = VMALLOC_START, + .end = VMALLOC_END, + .pgprot = PAGE_KERNEL, + .alignment = 1, + .fallback_start = fallback_start, + .fallback_end = fallback_end, + }, [EXECMEM_BPF] = { .start = VMALLOC_START, .end = VMALLOC_END, .pgprot = PAGE_KERNEL, .alignment = 1, }, + [EXECMEM_MODULE_DATA] = { + .start = start, + .end = end, + .pgprot = PAGE_KERNEL, + .alignment = 1, + .fallback_start = fallback_start, + .fallback_end = fallback_end, + }, }, }; -- 2.54.0.1136.gdb2ca164c4-goog