diff options
Diffstat (limited to 'net/socket.c')
| -rw-r--r-- | net/socket.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/net/socket.c b/net/socket.c index 2c1e8677ff2d..e034fe4164be 100644 --- a/net/socket.c +++ b/net/socket.c @@ -1506,7 +1506,7 @@ SYSCALL_DEFINE4(accept4, int, fd, struct sockaddr __user *, upeer_sockaddr,  	if (err)  		goto out_fd; -	err = sock->ops->accept(sock, newsock, sock->file->f_flags); +	err = sock->ops->accept(sock, newsock, sock->file->f_flags, false);  	if (err < 0)  		goto out_fd; @@ -1731,6 +1731,7 @@ SYSCALL_DEFINE6(recvfrom, int, fd, void __user *, ubuf, size_t, size,  	/* We assume all kernel code knows the size of sockaddr_storage */  	msg.msg_namelen = 0;  	msg.msg_iocb = NULL; +	msg.msg_flags = 0;  	if (sock->file->f_flags & O_NONBLOCK)  		flags |= MSG_DONTWAIT;  	err = sock_recvmsg(sock, &msg, flags); @@ -3238,7 +3239,7 @@ int kernel_accept(struct socket *sock, struct socket **newsock, int flags)  	if (err < 0)  		goto done; -	err = sock->ops->accept(sock, *newsock, flags); +	err = sock->ops->accept(sock, *newsock, flags, true);  	if (err < 0) {  		sock_release(*newsock);  		*newsock = NULL;  | 
