From b48b451aec338d6fafcf4b90577847d4b281cabb Mon Sep 17 00:00:00 2001 From: Vincenzo Frascino Date: Fri, 20 Mar 2020 14:53:36 +0000 Subject: [PATCH] BACKPORT: linux/time32.h: Extract common header for vDSO The vDSO library should only include the necessary headers required for a userspace library (UAPI and a minimal set of kernel headers). To make this possible it is necessary to isolate from the kernel headers the common parts that are strictly necessary to build the library. Split time32.h into linux and common headers to make the latter suitable for inclusion in the vDSO library. Signed-off-by: Vincenzo Frascino Signed-off-by: Thomas Gleixner Link: https://lkml.kernel.org/r/20200320145351.32292-12-vincenzo.frascino@arm.com (cherry picked from commit 9a4162316965818ea73701b611915deca97afece) Signed-off-by: Mark Salyzyn Bug: 154668398 Change-Id: Ibdee6540c150092e67497e932d93d6ea1246f753 --- include/linux/time32.h | 7 ++++--- include/vdso/time32.h | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 include/vdso/time32.h diff --git a/include/linux/time32.h b/include/linux/time32.h index d1ae43c13e25..00363b4094da 100644 --- a/include/linux/time32.h +++ b/include/linux/time32.h @@ -11,6 +11,10 @@ #include +#include + +#include + #define TIME_T_MAX (time_t)((1UL << ((sizeof(time_t) << 3) - 1)) - 1) #if __BITS_PER_LONG == 64 @@ -212,9 +216,6 @@ extern struct __kernel_old_timeval ns_to_kernel_old_timeval(s64 nsec); * the compat code so it can be shared between 32-bit and 64-bit builds * both of which provide compatibility with old 32-bit tasks. */ -#define old_time32_t compat_time_t -#define old_timeval32 compat_timeval -#define old_timespec32 compat_timespec #define old_itimerspec32 compat_itimerspec #define ns_to_old_timeval32 ns_to_compat_timeval #define get_old_itimerspec32 get_compat_itimerspec64 diff --git a/include/vdso/time32.h b/include/vdso/time32.h new file mode 100644 index 000000000000..63fa969f736a --- /dev/null +++ b/include/vdso/time32.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __VDSO_TIME32_H +#define __VDSO_TIME32_H + +/* + * New aliases for compat time functions. These will be used to replace + * the compat code so it can be shared between 32-bit and 64-bit builds + * both of which provide compatibility with old 32-bit tasks. + */ +#define old_time32_t compat_time_t +#define old_timeval32 compat_timeval +#define old_timespec32 compat_timespec + +#endif /* __VDSO_TIME32_H */