diff options
author | Dmitry Chagin <dchagin@FreeBSD.org> | 2022-05-28 20:45:39 +0000 |
---|---|---|
committer | Dmitry Chagin <dchagin@FreeBSD.org> | 2022-05-28 20:45:39 +0000 |
commit | 0e26e54bdfa2859908150011a4a165e9dd3de9ac (patch) | |
tree | 09115ba881aabc1f38dc183839ee8636f2557562 /sys/i386/linux | |
parent | 6335583990d8691ab01cd4fa92390f82f07e3d75 (diff) | |
download | src-0e26e54bdfa2859908150011a4a165e9dd3de9ac.tar.gz src-0e26e54bdfa2859908150011a4a165e9dd3de9ac.zip |
linux(4): Handle 64-bit SO_TIMESTAMP for 32-bit binaries
To solve y2k38 problem in the recvmsg syscall the new SO_TIMESTAMP
constant were added on v5.1 Linux kernel. So, old 32-bit binaries
that knows only 32-bit time_t uses the old value of the constant,
and binaries that knows 64-bit time_t uses the new constant.
To determine what size of time_t type is expected by the user-space,
store requested value (SO_TIMESTAMP) in the process emuldata structure.
MFC after: 2 weeks
Diffstat (limited to 'sys/i386/linux')
-rw-r--r-- | sys/i386/linux/linux.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index 210fb6ca5778..75d2017fb61f 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -85,6 +85,11 @@ typedef struct { l_suseconds_t tv_usec; } l_timeval; +typedef struct { + l_time64_t tv_sec; + l_time64_t tv_usec; +} l_sock_timeval; + #define l_fd_set fd_set /* |