Merge tag 'for-linus-4.5' of git://git.code.sf.net/p/openipmi/linux-ipmi
[deliverable/linux.git] / net / socket.c
index 456fadb3d8193a2238bf30881506cd66dbe11957..91c2de6f50205ae955afa1a41ad9502d35853c05 100644 (file)
@@ -257,6 +257,7 @@ static struct inode *sock_alloc_inode(struct super_block *sb)
        }
        init_waitqueue_head(&wq->wait);
        wq->fasync_list = NULL;
+       wq->flags = 0;
        RCU_INIT_POINTER(ei->socket.wq, wq);
 
        ei->socket.state = SS_UNCONNECTED;
@@ -1695,6 +1696,7 @@ SYSCALL_DEFINE6(recvfrom, int, fd, void __user *, ubuf, size_t, size,
        msg.msg_name = addr ? (struct sockaddr *)&address : NULL;
        /* We assume all kernel code knows the size of sockaddr_storage */
        msg.msg_namelen = 0;
+       msg.msg_iocb = NULL;
        if (sock->file->f_flags & O_NONBLOCK)
                flags |= MSG_DONTWAIT;
        err = sock_recvmsg(sock, &msg, iov_iter_count(&msg.msg_iter), flags);
@@ -2039,6 +2041,7 @@ int __sys_sendmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen,
                if (err)
                        break;
                ++datagrams;
+               cond_resched();
        }
 
        fput_light(sock->file, fput_needed);
@@ -2234,6 +2237,7 @@ int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen,
                /* Out of band data, return right away */
                if (msg_sys.msg_flags & MSG_OOB)
                        break;
+               cond_resched();
        }
 
 out_put:
This page took 0.025743 seconds and 5 git commands to generate.