Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b48b451a authored by Vincenzo Frascino's avatar Vincenzo Frascino Committed by Alistair Delva
Browse files

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: default avatarVincenzo Frascino <vincenzo.frascino@arm.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20200320145351.32292-12-vincenzo.frascino@arm.com


(cherry picked from commit 9a4162316965818ea73701b611915deca97afece)
Signed-off-by: default avatarMark Salyzyn <salyzyn@google.com>
Bug: 154668398
Change-Id: Ibdee6540c150092e67497e932d93d6ea1246f753
parent ac9cfc4a
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -11,6 +11,10 @@

#include <linux/time64.h>

#include <linux/timex.h>

#include <vdso/time32.h>

#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

include/vdso/time32.h

0 → 100644
+14 −0
Original line number Diff line number Diff line
/* 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 */