Commit c1ae1b4e authored by Heiko Carstens's avatar Heiko Carstens Committed by Jason A. Donenfeld

s390/vdso: Move vdso symbol handling to separate header file

The vdso.h header file, which is included at many places, includes
generated header files. This can easily lead to recursive header file
inclusions if the vdso code is changed.

Therefore move the vdso symbol code, which requires the generated
header files, to a separate header file, and include it at the two
locations which require it.
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
parent e10863ff
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __S390_VDSO_SYMBOLS_H__
#define __S390_VDSO_SYMBOLS_H__
#include <generated/vdso64-offsets.h>
#ifdef CONFIG_COMPAT
#include <generated/vdso32-offsets.h>
#endif
#define VDSO64_SYMBOL(tsk, name) ((tsk)->mm->context.vdso_base + (vdso64_offset_##name))
#ifdef CONFIG_COMPAT
#define VDSO32_SYMBOL(tsk, name) ((tsk)->mm->context.vdso_base + (vdso32_offset_##name))
#else
#define VDSO32_SYMBOL(tsk, name) (-1UL)
#endif
#endif /* __S390_VDSO_SYMBOLS_H__ */
...@@ -6,18 +6,6 @@ ...@@ -6,18 +6,6 @@
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#include <generated/vdso64-offsets.h>
#ifdef CONFIG_COMPAT
#include <generated/vdso32-offsets.h>
#endif
#define VDSO64_SYMBOL(tsk, name) ((tsk)->mm->context.vdso_base + (vdso64_offset_##name))
#ifdef CONFIG_COMPAT
#define VDSO32_SYMBOL(tsk, name) ((tsk)->mm->context.vdso_base + (vdso32_offset_##name))
#else
#define VDSO32_SYMBOL(tsk, name) (-1UL)
#endif
extern struct vdso_data *vdso_data; extern struct vdso_data *vdso_data;
int vdso_getcpu_init(void); int vdso_getcpu_init(void);
......
...@@ -24,11 +24,11 @@ ...@@ -24,11 +24,11 @@
#include <linux/tty.h> #include <linux/tty.h>
#include <linux/personality.h> #include <linux/personality.h>
#include <linux/binfmts.h> #include <linux/binfmts.h>
#include <asm/vdso-symbols.h>
#include <asm/access-regs.h> #include <asm/access-regs.h>
#include <asm/ucontext.h> #include <asm/ucontext.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <asm/lowcore.h> #include <asm/lowcore.h>
#include <asm/vdso.h>
#include <asm/fpu.h> #include <asm/fpu.h>
#include "compat_linux.h" #include "compat_linux.h"
#include "compat_ptrace.h" #include "compat_ptrace.h"
......
...@@ -30,9 +30,9 @@ ...@@ -30,9 +30,9 @@
#include <linux/compat.h> #include <linux/compat.h>
#include <asm/ucontext.h> #include <asm/ucontext.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <asm/vdso-symbols.h>
#include <asm/access-regs.h> #include <asm/access-regs.h>
#include <asm/lowcore.h> #include <asm/lowcore.h>
#include <asm/vdso.h>
#include "entry.h" #include "entry.h"
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment