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
| ||
|
Message-ID: <33b65653-6b83-6db2-4393-b306caae7d92@huawei.com> Date: Wed, 3 May 2017 15:15:51 +0800 From: Ding Tianhong <dingtianhong@...wei.com> To: David Miller <davem@...emloft.net>, <pabeni@...hat.com>, <edumazet@...gle.com>, <hannes@...essinduktion.org>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, LinuxArm <linuxarm@...wei.com>, "weiyongjun (A)" <weiyongjun1@...wei.com>, Al Viro <viro@...IV.linux.org.uk> Subject: Miss it//Re: [PATCH v3] iov_iter: don't revert iov buffer if csum error Miss it, it is already in the kernel tree, sorry for the noisy. On 2017/5/3 15:02, Ding Tianhong wrote: > The patch 327868212381 (make skb_copy_datagram_msg() et.al. preserve > ->msg_iter on error) will revert the iov buffer if copy to iter > failed, but it didn't copy any datagram if the skb_checksum_complete > error, so no need to revert any data at this place. > > v2: Sabrina notice that return -EFAULT when checksum error is not correct > here, it would confuse the caller about the return value, so fix it. > > v3: According AI's suggestion, directly return -EINVAL when __skb_checksum_complete() > return error is a more simple solution. > > Fixes: 327868212381 ("make skb_copy_datagram_msg() et.al. preserve->msg_iter on error") > Signed-off-by: Ding Tianhong <dingtianhong@...wei.com> > Signed-off-by: Wei Yongjun <weiyongjun1@...wei.com> > --- > net/core/datagram.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/core/datagram.c b/net/core/datagram.c > index 0306543..726bf8a 100644 > --- a/net/core/datagram.c > +++ b/net/core/datagram.c > @@ -719,7 +719,7 @@ int skb_copy_and_csum_datagram_msg(struct sk_buff *skb, > > if (msg_data_left(msg) < chunk) { > if (__skb_checksum_complete(skb)) > - goto csum_error; > + return -EINVAL; > if (skb_copy_datagram_msg(skb, hlen, msg, chunk)) > goto fault; > } else { >
Powered by blists - more mailing lists