y2038: socket: use __kernel_old_timespec instead of timespec
The 'timespec' type definition and helpers like ktime_to_timespec() or timespec64_to_timespec() should no longer be used in the kernel so we can remove them and avoid introducing y2038 issues in new code. Change the socket code that needs to pass a timespec to user space for backward compatibility to use __kernel_old_timespec instead. This type has the same layout but with a clearer defined name. Slightly reformat tcp_recv_timestamp() for consistency after the removal of timespec64_to_timespec(). Acked-by: Deepa Dinamani <deepa.kernel@gmail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -232,7 +232,7 @@ int put_cmsg_compat(struct msghdr *kmsg, int level, int type, int len, void *dat
|
||||
(type == SO_TIMESTAMPNS_OLD || type == SO_TIMESTAMPING_OLD)) {
|
||||
int count = type == SO_TIMESTAMPNS_OLD ? 1 : 3;
|
||||
int i;
|
||||
struct timespec *ts = (struct timespec *)data;
|
||||
struct __kernel_old_timespec *ts = data;
|
||||
for (i = 0; i < count; i++) {
|
||||
cts[i].tv_sec = ts[i].tv_sec;
|
||||
cts[i].tv_nsec = ts[i].tv_nsec;
|
||||
|
Reference in New Issue
Block a user