[PATCH v3 5/8] socket: Add struct __kernel_sock_timeval

From: Deepa Dinamani
Date: Mon Jan 07 2019 - 22:28:11 EST

The new type is meant to be used as a y2038 safe structure
to be used as part of cmsg data.
Presently the SO_TIMESTAMP socket option uses struct timeval
for timestamps. This is not y2038 safe.
Subsequent patches in the series add new y2038 safe socket
option to be used in the place of SO_TIMESTAMP_OLD.
struct __kernel_sock_timeval will be used as the timestamp
format at that time.

struct __kernel_sock_timeval also maintains the same layout
across 32 bit and 64 bit ABIs.

Signed-off-by: Deepa Dinamani <deepa.kernel@xxxxxxxxx>
include/uapi/linux/time.h | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/include/uapi/linux/time.h b/include/uapi/linux/time.h
index 04d5587f30d3..b8ad1b86b942 100644
--- a/include/uapi/linux/time.h
+++ b/include/uapi/linux/time.h
@@ -70,6 +70,11 @@ struct __kernel_old_timeval {

+struct __kernel_sock_timeval {
+ __s64 tv_sec;
+ __s64 tv_usec;
* The IDs of the various system clocks (for POSIX.1b interval timers):