diff options
author | Thomas Weißschuh <thomas.weissschuh@linutronix.de> | 2024-10-10 09:01:16 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2024-11-02 12:37:34 +0100 |
commit | 7175126a6d45fea82cb25f4d35b35a0999fd6dae (patch) | |
tree | 91ee8bdf6a5d6d6e22143ca5eb8b4f9c1613fbba /arch/x86/include/asm/vdso/vsyscall.h | |
parent | x86/vdso: Access rng data from kernel without vvar (diff) | |
download | linux-7175126a6d45fea82cb25f4d35b35a0999fd6dae.tar.xz linux-7175126a6d45fea82cb25f4d35b35a0999fd6dae.zip |
x86/vdso: Allocate vvar page from C code
Allocate the vvar page through the standard union vdso_data_store
and remove the custom linker script logic.
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20241010-vdso-generic-base-v1-14-b64f0842d512@linutronix.de
Diffstat (limited to 'arch/x86/include/asm/vdso/vsyscall.h')
-rw-r--r-- | arch/x86/include/asm/vdso/vsyscall.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/include/asm/vdso/vsyscall.h b/arch/x86/include/asm/vdso/vsyscall.h index ce8d5c81ebf4..aac7d2b7b9a8 100644 --- a/arch/x86/include/asm/vdso/vsyscall.h +++ b/arch/x86/include/asm/vdso/vsyscall.h @@ -8,20 +8,22 @@ #include <asm/vgtod.h> #include <asm/vvar.h> +extern struct vdso_data *vdso_data; + /* * Update the vDSO data page to keep in sync with kernel timekeeping. */ static __always_inline struct vdso_data *__x86_get_k_vdso_data(void) { - return _vdso_data; + return vdso_data; } #define __arch_get_k_vdso_data __x86_get_k_vdso_data static __always_inline struct vdso_rng_data *__x86_get_k_vdso_rng_data(void) { - return (void *)&__vvar_page + __VDSO_RND_DATA_OFFSET; + return (void *)vdso_data + __VDSO_RND_DATA_OFFSET; } #define __arch_get_k_vdso_rng_data __x86_get_k_vdso_rng_data |