Message ID | 1386363300-19040-1-git-send-email-zwu.kernel@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On 12/06/2013 03:54 PM, Zhi Yong Wu wrote: > From: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> > > By checking related codes, it is impossible that ret > len or total_len, > so we should remove some useless coeds in both above functions. Looks like commit 6680ec68eff47d36f67b4351bc9836fd6cba9532 Author: Jason Wang <jasowang@redhat.com> Date: Thu Jul 25 13:00:33 2013 +0800 tuntap: hardware vlan tx support Introduced a change in tun_put_user() where we can never return a length longer then len or total_len. This has an effect that is now impossible to signal truncated status. It seems like a potential loss of functionality and it might make sense to restore it. -vlad > > Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> > --- > drivers/net/macvtap.c | 5 ----- > 1 files changed, 0 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c > index 4c6f84c..7f4ccdd 100644 > --- a/drivers/net/macvtap.c > +++ b/drivers/net/macvtap.c > @@ -871,7 +871,6 @@ static ssize_t macvtap_aio_read(struct kiocb *iocb, const struct iovec *iv, > } > > ret = macvtap_do_read(q, iv, len, file->f_flags & O_NONBLOCK); > - ret = min_t(ssize_t, ret, len); /* XXX copied from tun.c. Why? */ > out: > return ret; > } > @@ -1104,10 +1103,6 @@ static int macvtap_recvmsg(struct kiocb *iocb, struct socket *sock, > return -EINVAL; > ret = macvtap_do_read(q, m->msg_iov, total_len, > flags & MSG_DONTWAIT); > - if (ret > total_len) { > - m->msg_flags |= MSG_TRUNC; > - ret = flags & MSG_TRUNC ? ret : total_len; > - } > return ret; > } > > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 12/07/2013 10:38 AM, Vlad Yasevich wrote: > On 12/06/2013 03:54 PM, Zhi Yong Wu wrote: >> > From: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> >> > >> > By checking related codes, it is impossible that ret > len or total_len, >> > so we should remove some useless coeds in both above functions. > Looks like commit 6680ec68eff47d36f67b4351bc9836fd6cba9532 > Author: Jason Wang <jasowang@redhat.com> > Date: Thu Jul 25 13:00:33 2013 +0800 > > tuntap: hardware vlan tx support > > Introduced a change in tun_put_user() where we can > never return a length longer then len or total_len. > This has an effect that is now impossible to signal > truncated status. It seems like a potential loss > of functionality and it might make sense to restore it. > > -vlad True, will send a patch. For macvtap, we'd better also correct current behaviour to be same with tun. Thanks -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Zhi Yong Wu <zwu.kernel@gmail.com> Date: Sat, 7 Dec 2013 04:54:59 +0800 > From: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> > > By checking related codes, it is impossible that ret > len or total_len, > so we should remove some useless coeds in both above functions. > > Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c index 4c6f84c..7f4ccdd 100644 --- a/drivers/net/macvtap.c +++ b/drivers/net/macvtap.c @@ -871,7 +871,6 @@ static ssize_t macvtap_aio_read(struct kiocb *iocb, const struct iovec *iv, } ret = macvtap_do_read(q, iv, len, file->f_flags & O_NONBLOCK); - ret = min_t(ssize_t, ret, len); /* XXX copied from tun.c. Why? */ out: return ret; } @@ -1104,10 +1103,6 @@ static int macvtap_recvmsg(struct kiocb *iocb, struct socket *sock, return -EINVAL; ret = macvtap_do_read(q, m->msg_iov, total_len, flags & MSG_DONTWAIT); - if (ret > total_len) { - m->msg_flags |= MSG_TRUNC; - ret = flags & MSG_TRUNC ? ret : total_len; - } return ret; }