Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp9107826pxu; Mon, 28 Dec 2020 06:50:41 -0800 (PST) X-Google-Smtp-Source: ABdhPJzJH0ZJuJ/3iu/T+zgoXQ0Tb4eXsAUoiBhB7QCBzm0wGAqeBVpgPxKpaqVePOPDoHwKb4NX X-Received: by 2002:a17:907:60a:: with SMTP id wp10mr42541517ejb.205.1609167040991; Mon, 28 Dec 2020 06:50:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1609167040; cv=none; d=google.com; s=arc-20160816; b=zBR9xJok/MzxfcMEgY2Fp7FiotKsui5v+JSdyTuyBRhfqkUnl/wLJO+FN/IzOXvDWs fyZowXjnYftO6bO5Uwa5N1voONK0ffmsmhigET1myeiY3tauE5+QXDniL2Y4VwvWd068 nyPsyaHU0D9x2qAnF5eAIK4SNbdT7j7qd5KWgofTMwP0MmNm97JkAo6y3LOJbRya5y3v ojA9/RJTfKSsJc9hfcgdKA+jgTZTkL+8Xv7DpC8VX0iadBWU8RCE9SUyo1tXWzzENiwy MnhNC3CpsId++pwNVRq/Wf3H4QJJqsG7fqqNXvteNZxgRj9mJa2/GWeOZR0/1ASuiV6q HxVw== 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=LSR4l5+QyM2Z7xIXRThOhx4mMOl+5zEbUyhdKIqjp/0=; b=Vr8qF3G4X2Ode8qQyr3T9m0KGJPIaXrgHsdvUMwozhzYKL4Kq2Hlk6BKc9KdbbGEJ/ cwlPWFhCgwdRfK+zF8T/GQKrT8FBp5uAhtDnWWHKPo6zM+FSS9mOF/uDdc0ShX4EEObO Ip41hzhYcKmLoRCdhh8kkStv3TbYy9p6bPWY8vnqCYaVVJAOW+C1eJdSfglvloWrsE74 MitQlW5XrykCKwxdJkCoi+mBv53YVYZ82RsFEftVHT0XrN4rBIRXOwBMpiPIbJZhzUug 3RVwo7Ip+nKvLYaJ2u5kssRZqKmoGXL9eNW1jmugeuS8C66ZHLz4B5SJHJWjhLsIaLa6 ioMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=iqTwa+tp; 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=pass (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 n22si16027213edv.49.2020.12.28.06.50.18; Mon, 28 Dec 2020 06:50:40 -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=@linuxfoundation.org header.s=korg header.b=iqTwa+tp; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2504134AbgL1OsV (ORCPT + 99 others); Mon, 28 Dec 2020 09:48:21 -0500 Received: from mail.kernel.org ([198.145.29.99]:58134 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2502661AbgL1OW2 (ORCPT ); Mon, 28 Dec 2020 09:22:28 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id B4A73206D4; Mon, 28 Dec 2020 14:21:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1609165308; bh=b1+9m2hW3W77OgxfwQljLruGMSMrauPCbAy5KaHCl2I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iqTwa+tpVZm5hCh4D7GY0Ssp1TUS4qh+XUna+6/e62yfzzW6FCtbNsEzgCQz/zo6L Bdp2ERl8FzffroIKi3g24x9Kn8T93gHg++a7cgT3c/T5gZlwpbmUW5tdu7u1dUbz7Z 2zzU0b1LwxWydj2+3jJYQieovYy+bYeNY7BYvtpw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Simon Horman , Louis Peens , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.10 487/717] nfp: move indirect block cleanup to flower app stop callback Date: Mon, 28 Dec 2020 13:48:05 +0100 Message-Id: <20201228125044.295775785@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201228125020.963311703@linuxfoundation.org> References: <20201228125020.963311703@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 From: Simon Horman [ Upstream commit 5b33afee93a1e7665a5ffae027fc66f9376f4ea7 ] The indirect block cleanup may cause control messages to be sent if offloaded flows are present. However, by the time the flower app cleanup callback is called txbufs are no longer available and attempts to send control messages result in a NULL-pointer dereference in nfp_ctrl_tx_one(). This problem may be resolved by moving the indirect block cleanup to the stop callback, where txbufs are still available. As suggested by Jakub Kicinski and Louis Peens. Fixes: a1db217861f3 ("net: flow_offload: fix flow_indr_dev_unregister path") Signed-off-by: Simon Horman Signed-off-by: Louis Peens Link: https://lore.kernel.org/r/20201216145701.30005-1-simon.horman@netronome.com Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin --- drivers/net/ethernet/netronome/nfp/flower/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/netronome/nfp/flower/main.c b/drivers/net/ethernet/netronome/nfp/flower/main.c index bb448c82cdc28..c029950a81e20 100644 --- a/drivers/net/ethernet/netronome/nfp/flower/main.c +++ b/drivers/net/ethernet/netronome/nfp/flower/main.c @@ -860,9 +860,6 @@ static void nfp_flower_clean(struct nfp_app *app) skb_queue_purge(&app_priv->cmsg_skbs_low); flush_work(&app_priv->cmsg_work); - flow_indr_dev_unregister(nfp_flower_indr_setup_tc_cb, app, - nfp_flower_setup_indr_tc_release); - if (app_priv->flower_ext_feats & NFP_FL_FEATS_VF_RLIM) nfp_flower_qos_cleanup(app); @@ -951,6 +948,9 @@ static int nfp_flower_start(struct nfp_app *app) static void nfp_flower_stop(struct nfp_app *app) { nfp_tunnel_config_stop(app); + + flow_indr_dev_unregister(nfp_flower_indr_setup_tc_cb, app, + nfp_flower_setup_indr_tc_release); } static int -- 2.27.0