cfg80211/mac80211: allow registering for and sending action frames
[linux-2.6.git] / net / compat.c
index e13f525..e1a56ad 100644 (file)
@@ -390,9 +390,6 @@ asmlinkage long compat_sys_setsockopt(int fd, int level, int optname,
        int err;
        struct socket *sock;
 
-       if (optlen < 0)
-               return -EINVAL;
-
        if ((sock = sockfd_lookup(fd, &err))!=NULL)
        {
                err = security_socket_setsockopt(sock,level,optname);
@@ -761,9 +758,13 @@ asmlinkage long compat_sys_recvmmsg(int fd, struct compat_mmsghdr __user *mmsg,
 {
        int datagrams;
        struct timespec ktspec;
-       struct compat_timespec __user *utspec =
-                       (struct compat_timespec __user *)timeout;
+       struct compat_timespec __user *utspec;
+
+       if (timeout == NULL)
+               return __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen,
+                                     flags | MSG_CMSG_COMPAT, NULL);
 
+       utspec = (struct compat_timespec __user *)timeout;
        if (get_user(ktspec.tv_sec, &utspec->tv_sec) ||
            get_user(ktspec.tv_nsec, &utspec->tv_nsec))
                return -EFAULT;