summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/vdso/vsyscall.h
diff options
context:
space:
mode:
authorThomas Weißschuh <thomas.weissschuh@linutronix.de>2024-10-10 09:01:16 +0200
committerThomas Gleixner <tglx@linutronix.de>2024-11-02 12:37:34 +0100
commit7175126a6d45fea82cb25f4d35b35a0999fd6dae (patch)
tree91ee8bdf6a5d6d6e22143ca5eb8b4f9c1613fbba /arch/x86/include/asm/vdso/vsyscall.h
parentx86/vdso: Access rng data from kernel without vvar (diff)
downloadlinux-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.h6
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