aboutsummaryrefslogtreecommitdiffstats
path: root/net/compat.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/compat.c')
-rw-r--r--net/compat.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/net/compat.c b/net/compat.c
index dd32e34c1e2c..f50161fb812e 100644
--- a/net/compat.c
+++ b/net/compat.c
@@ -780,21 +780,16 @@ asmlinkage long compat_sys_recvmmsg(int fd, struct compat_mmsghdr __user *mmsg,
780 if (flags & MSG_CMSG_COMPAT) 780 if (flags & MSG_CMSG_COMPAT)
781 return -EINVAL; 781 return -EINVAL;
782 782
783 if (COMPAT_USE_64BIT_TIME)
784 return __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen,
785 flags | MSG_CMSG_COMPAT,
786 (struct timespec *) timeout);
787
788 if (timeout == NULL) 783 if (timeout == NULL)
789 return __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen, 784 return __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen,
790 flags | MSG_CMSG_COMPAT, NULL); 785 flags | MSG_CMSG_COMPAT, NULL);
791 786
792 if (get_compat_timespec(&ktspec, timeout)) 787 if (compat_get_timespec(&ktspec, timeout))
793 return -EFAULT; 788 return -EFAULT;
794 789
795 datagrams = __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen, 790 datagrams = __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen,
796 flags | MSG_CMSG_COMPAT, &ktspec); 791 flags | MSG_CMSG_COMPAT, &ktspec);
797 if (datagrams > 0 && put_compat_timespec(&ktspec, timeout)) 792 if (datagrams > 0 && compat_put_timespec(&ktspec, timeout))
798 datagrams = -EFAULT; 793 datagrams = -EFAULT;
799 794
800 return datagrams; 795 return datagrams;