lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20150330142436.56a5556e@canb.auug.org.au>
Date:	Mon, 30 Mar 2015 14:24:36 +1100
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	David Miller <davem@...emloft.net>, <netdev@...r.kernel.org>,
	Al Viro <viro@...IV.linux.org.uk>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	"tadeusz.struk@...el.com" <tadeusz.struk@...el.com>
Subject: linux-next: manual merge of the net-next tree with the vfs tree

Hi all,

Today's linux-next merge of the net-next tree got a conflict in
net/socket.c between commit 774157aa4897 ("net: switch importing msghdr
from userland to {compat_,}import_iovec()") from the vfs tree and
commit 0345f93138b2 ("net: socket: add support for async operations")
from the net-next tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc net/socket.c
index abc721654ab5,073809f4125f..000000000000
--- a/net/socket.c
+++ b/net/socket.c
@@@ -841,11 -808,10 +794,10 @@@ static ssize_t sock_read_iter(struct ki
  	if (iocb->ki_pos != 0)
  		return -ESPIPE;
  
 -	if (iocb->ki_nbytes == 0)	/* Match SYS5 behaviour */
 +	if (!iov_iter_count(to))	/* Match SYS5 behaviour */
  		return 0;
  
- 	res = __sock_recvmsg(iocb, sock, &msg,
- 			     iov_iter_count(to), msg.msg_flags);
 -	res = sock_recvmsg(sock, &msg, iocb->ki_nbytes, msg.msg_flags);
++	res = sock_recvmsg(sock, &msg, iov_iter_count(to), msg.msg_flags);
  	*to = msg.msg_iter;
  	return res;
  }
@@@ -866,7 -833,7 +819,7 @@@ static ssize_t sock_write_iter(struct k
  	if (sock->type == SOCK_SEQPACKET)
  		msg.msg_flags |= MSG_EOR;
  
- 	res = __sock_sendmsg(iocb, sock, &msg, iov_iter_count(from));
 -	res = sock_sendmsg(sock, &msg, iocb->ki_nbytes);
++	res = sock_sendmsg(sock, &msg, iov_iter_count(from));
  	*from = msg.msg_iter;
  	return res;
  }
@@@ -1921,8 -1896,15 +1874,10 @@@ static int copy_msghdr_from_user(struc
  	if (nr_segs > UIO_MAXIOV)
  		return -EMSGSIZE;
  
+ 	kmsg->msg_iocb = NULL;
+ 
 -	err = rw_copy_check_uvector(save_addr ? READ : WRITE,
 -				    uiov, nr_segs,
 -				    UIO_FASTIOV, *iov, iov);
 -	if (err >= 0)
 -		iov_iter_init(&kmsg->msg_iter, save_addr ? READ : WRITE,
 -			      *iov, nr_segs, err);
 -	return err;
 +	return import_iovec(save_addr ? READ : WRITE, uiov, nr_segs,
 +			    UIO_FASTIOV, iov, &kmsg->msg_iter);
  }
  
  static int ___sys_sendmsg(struct socket *sock, struct user_msghdr __user *msg,

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ