aboutsummaryrefslogtreecommitdiffstats
path: root/net/compat.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/compat.c')
-rw-r--r--net/compat.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/compat.c b/net/compat.c
index 5ae7437d3853..7242cce5631b 100644
--- a/net/compat.c
+++ b/net/compat.c
@@ -377,7 +377,8 @@ static int compat_sock_setsockopt(struct socket *sock, int level, int optname,
377 optname == SO_ATTACH_REUSEPORT_CBPF) 377 optname == SO_ATTACH_REUSEPORT_CBPF)
378 return do_set_attach_filter(sock, level, optname, 378 return do_set_attach_filter(sock, level, optname,
379 optval, optlen); 379 optval, optlen);
380 if (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO) 380 if (!COMPAT_USE_64BIT_TIME &&
381 (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO))
381 return do_set_sock_timeout(sock, level, optname, optval, optlen); 382 return do_set_sock_timeout(sock, level, optname, optval, optlen);
382 383
383 return sock_setsockopt(sock, level, optname, optval, optlen); 384 return sock_setsockopt(sock, level, optname, optval, optlen);
@@ -448,7 +449,8 @@ static int do_get_sock_timeout(struct socket *sock, int level, int optname,
448static int compat_sock_getsockopt(struct socket *sock, int level, int optname, 449static int compat_sock_getsockopt(struct socket *sock, int level, int optname,
449 char __user *optval, int __user *optlen) 450 char __user *optval, int __user *optlen)
450{ 451{
451 if (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO) 452 if (!COMPAT_USE_64BIT_TIME &&
453 (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO))
452 return do_get_sock_timeout(sock, level, optname, optval, optlen); 454 return do_get_sock_timeout(sock, level, optname, optval, optlen);
453 return sock_getsockopt(sock, level, optname, optval, optlen); 455 return sock_getsockopt(sock, level, optname, optval, optlen);
454} 456}