aboutsummaryrefslogtreecommitdiff
path: root/sys/i386/linux
diff options
context:
space:
mode:
authorDmitry Chagin <dchagin@FreeBSD.org>2022-05-28 20:45:39 +0000
committerDmitry Chagin <dchagin@FreeBSD.org>2022-05-28 20:45:39 +0000
commit0e26e54bdfa2859908150011a4a165e9dd3de9ac (patch)
tree09115ba881aabc1f38dc183839ee8636f2557562 /sys/i386/linux
parent6335583990d8691ab01cd4fa92390f82f07e3d75 (diff)
downloadsrc-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.h5
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
/*