Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751894AbdLAFym (ORCPT ); Fri, 1 Dec 2017 00:54:42 -0500 Received: from mx1.redhat.com ([209.132.183.28]:35350 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751171AbdLAFyk (ORCPT ); Fri, 1 Dec 2017 00:54:40 -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 v3] vhost: fix a few skb leaks Date: Fri, 1 Dec 2017 00:54:26 -0500 Message-Id: <1512107669-27572-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.38]); Fri, 01 Dec 2017 05:54:40 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 856 Lines: 31 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 This is v3. 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 | 6 +++++- drivers/net/tun.c | 14 +++++++++++--- drivers/vhost/net.c | 20 ++++++++++---------- 3 files changed, 26 insertions(+), 14 deletions(-) -- 1.8.3.1