Re: [PATCH net,stable v4 0/3] vhost: fix a few skb leaks

From: Michael S. Tsirkin
Date: Fri Dec 01 2017 - 09:58:32 EST


On Fri, Dec 01, 2017 at 09:54:02AM -0500, Matthew Rosato wrote:
> On 12/01/2017 09:47 AM, Michael S. Tsirkin wrote:
> > On Fri, Dec 01, 2017 at 05:10:35AM -0500, wexu@xxxxxxxxxx wrote:
> >> From: Wei Xu <wexu@xxxxxxxxxx>
> >>
> >> Matthew found a roughly 40% tcp throughput regression with commit
> >> c67df11f(vhost_net: try batch dequing from skb array) as discussed
> >> in the following thread:
> >> https://www.mail-archive.com/netdev@xxxxxxxxxxxxxxx/msg187936.html
> >
> > Series
> >
> > Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
>
> Tested this series on a z13 (s390x) on top of net-next using 4GB/4vcpu
> guests. Verified that both the reported TCP throughput regression and
> memory leak are resolved.
>
> net-next: 19.83 Gb/s
> net-next+: 35.02 Gb/s
>
> Thanks all!
>
> Matt

So we can also add
Tested-by: Matthew Rosato <mjrosato@xxxxxxxxxxxxxxxxxx>

Dave, pls take this through the net tree as most changes are
in tun/tap.

Thanks!

> >
> >
> >> v4:
> >> - fix zero iov iterator count in tap/tap_do_read()(Jason)
> >> - don't put tun in case of EBADFD(Jason)
> >> - Replace msg->msg_control with new 'skb' when calling tun/tap_do_read()
> >>
> >> v3:
> >> - move freeing skb from vhost to tun/tap recvmsg() to not
> >> confuse the callers.
> >>
> >> v2:
> >> - add Matthew as the reporter, thanks matthew.
> >> - moving zero headcount check ahead instead of defer consuming skb
> >> due to jason and mst's comment.
> >> - add freeing skb in favor of recvmsg() fails.
> >>
> >> Wei Xu (3):
> >> vhost: fix skb leak in handle_rx()
> >> tun: free skb in early errors
> >> tap: free skb if flags error
> >>
> >> drivers/net/tap.c | 14 ++++++++++----
> >> drivers/net/tun.c | 24 ++++++++++++++++++------
> >> drivers/vhost/net.c | 20 ++++++++++----------
> >> 3 files changed, 38 insertions(+), 20 deletions(-)
> >>
> >> --
> >> 1.8.3.1
> >