Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp844650pxb; Tue, 3 Nov 2020 14:12:26 -0800 (PST) X-Google-Smtp-Source: ABdhPJwVhw5eu+zczuMcZMfiSU9YOYHkyWVEbObs+HsTAb2wHPt99GkT3T12g+RCf3qN+Z6AzTZ2 X-Received: by 2002:a17:906:4a4c:: with SMTP id a12mr21478930ejv.392.1604441545885; Tue, 03 Nov 2020 14:12:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604441545; cv=none; d=google.com; s=arc-20160816; b=UcPR70ghPvRIYiL5UgB7Olrx3zyevbe6N5b4SP+B8w8oWMdZVj67P+NlKbJWDfE5G4 GNEJwmatltXrMCq+GZuc238YN+/ydNm72zcGa4brhgTgzHUU9lLvwvRQAe1YOkD/gQXs K4SAjVJ+vKMSXoD6GynkigEm/A23tl4SPE40yHy4wp6K70subPGujJ7twaz3FKqJqIDB eDgk5IxzDncpbBOsnxo2KygkWxYYKWWF/QqkxQHwZT+jesCa+1ay+mfzcJYX6wJJ/E0/ tIskwyg1bsQoQa76/ac6wrmZrFhtAk+GCSq1bzQUnPUqcPDXv0oscEfk90Z2XGMTyGcX OdLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=oDJJx0KwAWVMCcoF15iqTkkYx1a+lxfnE9hJ9RDb4lY=; b=Mz5iW4IULgb4qMWffI7xSmoqX5S90DHWlhpOlWifcXL9vUJytm4/UDhKE6AqcqYIge 4gccghsjDoUKqCj7VsmNytFvlhC+qICHTisxJlcQPGqV4KoDLm2dIhj9/08IQM4ZTQuQ QPhR4maf9PHfxi9VhI6Az6kijByaAv+C7Yg4F+85iNrUR41GgplU7Aqpydbhb4VZQHlK Ctu5nLdmjtOt9aGUVMPOrV9jOflDpTRlfS09NVs/+Sm3AqFwkjDWdI/2gMNGO2jHYU4O aXcUVJ1s0W08IagTuv0u1S8ZcZba4797aNZ2vVk6Htyjv8Vynw/NH9aPsxEud5bKETcT iAtA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=WqM1jl4U; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h17si124883ejf.88.2020.11.03.14.12.02; Tue, 03 Nov 2020 14:12:25 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=WqM1jl4U; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730115AbgKCUkD (ORCPT + 99 others); Tue, 3 Nov 2020 15:40:03 -0500 Received: from mail.kernel.org ([198.145.29.99]:51176 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730118AbgKCUkC (ORCPT ); Tue, 3 Nov 2020 15:40:02 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id E9D9D223EA; Tue, 3 Nov 2020 20:40:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604436001; bh=BziPCTJLCAWSER9QJjLifg+x9+tNUm0Ng0iRmcdDZAk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WqM1jl4Uv3AyAvOZxETQtibs5IyPvNX+lLkBVuaN0LHAJ3s9E8Bt7W86jUnD+5iiL HZsezUAd8XZgbuSZfRnfcuUHitmncGIcyZ5QVpiBbbjkePs8sYAGwfOyKcmY3AY26i DH9FGic8iSV6+Jdx+Ra9DemhlHl99qIJCGDbMRHU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Shannon Nelson , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.9 022/391] ionic: no rx flush in deinit Date: Tue, 3 Nov 2020 21:31:13 +0100 Message-Id: <20201103203349.379559871@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201103203348.153465465@linuxfoundation.org> References: <20201103203348.153465465@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ Upstream commit 43ecf7b46f2688fd37909801aee264f288b3917b ] Kmemleak pointed out to us that ionic_rx_flush() is sending skbs into napi_gro_XXX with a disabled napi context, and these end up getting lost and leaked. We can safely remove the flush. Fixes: 0f3154e6bcb3 ("ionic: Add Tx and Rx handling") Signed-off-by: Shannon Nelson Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin --- drivers/net/ethernet/pensando/ionic/ionic_lif.c | 1 - drivers/net/ethernet/pensando/ionic/ionic_txrx.c | 13 ------------- drivers/net/ethernet/pensando/ionic/ionic_txrx.h | 1 - 3 files changed, 15 deletions(-) diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c index 26988ad7ec979..8867d4ac871c1 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c @@ -1512,7 +1512,6 @@ static void ionic_txrx_deinit(struct ionic_lif *lif) if (lif->rxqcqs) { for (i = 0; i < lif->nxqs; i++) { ionic_lif_qcq_deinit(lif, lif->rxqcqs[i].qcq); - ionic_rx_flush(&lif->rxqcqs[i].qcq->cq); ionic_rx_empty(&lif->rxqcqs[i].qcq->q); } } diff --git a/drivers/net/ethernet/pensando/ionic/ionic_txrx.c b/drivers/net/ethernet/pensando/ionic/ionic_txrx.c index def65fee27b5a..39e85870c15e9 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_txrx.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_txrx.c @@ -253,19 +253,6 @@ static bool ionic_rx_service(struct ionic_cq *cq, struct ionic_cq_info *cq_info) return true; } -void ionic_rx_flush(struct ionic_cq *cq) -{ - struct ionic_dev *idev = &cq->lif->ionic->idev; - u32 work_done; - - work_done = ionic_cq_service(cq, cq->num_descs, - ionic_rx_service, NULL, NULL); - - if (work_done) - ionic_intr_credits(idev->intr_ctrl, cq->bound_intr->index, - work_done, IONIC_INTR_CRED_RESET_COALESCE); -} - static struct page *ionic_rx_page_alloc(struct ionic_queue *q, dma_addr_t *dma_addr) { diff --git a/drivers/net/ethernet/pensando/ionic/ionic_txrx.h b/drivers/net/ethernet/pensando/ionic/ionic_txrx.h index a5883be0413f6..7667b72232b8a 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_txrx.h +++ b/drivers/net/ethernet/pensando/ionic/ionic_txrx.h @@ -4,7 +4,6 @@ #ifndef _IONIC_TXRX_H_ #define _IONIC_TXRX_H_ -void ionic_rx_flush(struct ionic_cq *cq); void ionic_tx_flush(struct ionic_cq *cq); void ionic_rx_fill(struct ionic_queue *q); -- 2.27.0