aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/lib/code-patching.c
diff options
context:
space:
mode:
authorMike Rapoport (IBM) <[email protected]>2024-05-05 16:06:19 +0000
committerLuis Chamberlain <[email protected]>2024-05-14 07:31:43 +0000
commitf6bec26c0a7364d3506a3e12dab7c228ef32bd65 (patch)
tree4686bc944b0452c523664ad70241e3f0a115d12b /arch/powerpc/lib/code-patching.c
parentmm: introduce execmem_alloc() and execmem_free() (diff)
downloadkernel-f6bec26c0a7364d3506a3e12dab7c228ef32bd65.tar.gz
kernel-f6bec26c0a7364d3506a3e12dab7c228ef32bd65.zip
mm/execmem, arch: convert simple overrides of module_alloc to execmem
Several architectures override module_alloc() only to define address range for code allocations different than VMALLOC address space. Provide a generic implementation in execmem that uses the parameters for address space ranges, required alignment and page protections provided by architectures. The architectures must fill execmem_info structure and implement execmem_arch_setup() that returns a pointer to that structure. This way the execmem initialization won't be called from every architecture, but rather from a central place, namely a core_initcall() in execmem. The execmem provides execmem_alloc() API that wraps __vmalloc_node_range() with the parameters defined by the architectures. If an architecture does not implement execmem_arch_setup(), execmem_alloc() will fall back to module_alloc(). Signed-off-by: Mike Rapoport (IBM) <[email protected]> Acked-by: Song Liu <[email protected]> Reviewed-by: Masami Hiramatsu (Google) <[email protected]> Signed-off-by: Luis Chamberlain <[email protected]>
Diffstat (limited to 'arch/powerpc/lib/code-patching.c')
0 files changed, 0 insertions, 0 deletions