Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751980AbdLAKKs (ORCPT ); Fri, 1 Dec 2017 05:10:48 -0500 Received: from mx1.redhat.com ([209.132.183.28]:13113 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751611AbdLAKKq (ORCPT ); Fri, 1 Dec 2017 05:10:46 -0500 From: wexu@redhat.com To: virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: jasowang@redhat.com, mst@redhat.com, mjrosato@linux.vnet.ibm.com, wexu@redhat.com Subject: [PATCH net,stable v4 0/3] vhost: fix a few skb leaks Date: Fri, 1 Dec 2017 05:10:35 -0500 Message-Id: <1512123038-15773-1-git-send-email-wexu@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Fri, 01 Dec 2017 10:10:46 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1038 Lines: 34 From: Wei Xu 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@vger.kernel.org/msg187936.html 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