diff options
author | Brian Gerst <brgerst@gmail.com> | 2023-01-24 13:40:19 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2023-01-25 12:33:40 +0100 |
commit | 4c382d723edce1b3c72b55b1b505cf5526a56afc (patch) | |
tree | 1b69faa1f65d9b5ef37a073b898251d35ccdc5a7 /arch/x86/entry/vdso/vma.c | |
parent | 2241ab53cbb5cdb08a6b2d4688feb13971058f65 (diff) | |
download | linux-stable-4c382d723edce1b3c72b55b1b505cf5526a56afc.tar.gz linux-stable-4c382d723edce1b3c72b55b1b505cf5526a56afc.tar.bz2 linux-stable-4c382d723edce1b3c72b55b1b505cf5526a56afc.zip |
x86/vdso: Move VDSO image init to vdso2c generated code
Generate an init function for each VDSO image, replacing init_vdso() and
sysenter_setup().
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20230124184019.26850-1-brgerst@gmail.com
Diffstat (limited to 'arch/x86/entry/vdso/vma.c')
-rw-r--r-- | arch/x86/entry/vdso/vma.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/arch/x86/entry/vdso/vma.c b/arch/x86/entry/vdso/vma.c index b8f3f9b9e53c..2738eb28cb2e 100644 --- a/arch/x86/entry/vdso/vma.c +++ b/arch/x86/entry/vdso/vma.c @@ -44,13 +44,16 @@ unsigned int vclocks_used __read_mostly; unsigned int __read_mostly vdso64_enabled = 1; #endif -void __init init_vdso_image(const struct vdso_image *image) +int __init init_vdso_image(const struct vdso_image *image) { + BUILD_BUG_ON(VDSO_CLOCKMODE_MAX >= 32); BUG_ON(image->size % PAGE_SIZE != 0); apply_alternatives((struct alt_instr *)(image->data + image->alt), (struct alt_instr *)(image->data + image->alt + image->alt_len)); + + return 0; } static const struct vm_special_mapping vvar_mapping; @@ -418,18 +421,4 @@ static __init int vdso_setup(char *s) return 1; } __setup("vdso=", vdso_setup); - -static int __init init_vdso(void) -{ - BUILD_BUG_ON(VDSO_CLOCKMODE_MAX >= 32); - - init_vdso_image(&vdso_image_64); - -#ifdef CONFIG_X86_X32_ABI - init_vdso_image(&vdso_image_x32); -#endif - - return 0; -} -subsys_initcall(init_vdso); #endif /* CONFIG_X86_64 */ |