Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp178510pxb; Mon, 13 Sep 2021 16:20:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwlEOYqamhVxxzx5Mq7kWffOu6vSstY6JjkmWRQHz5xhi3KKNBRM6FEVUwxjA6MmobMyQfZ X-Received: by 2002:a05:6402:493:: with SMTP id k19mr16222642edv.386.1631575256246; Mon, 13 Sep 2021 16:20:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631575256; cv=none; d=google.com; s=arc-20160816; b=J/BFE2uNcJ4xabpEHXOW6xWBWuFeUZlN6oO9362B9s992gakIzbv/tnlQcldQOCP3P 1xUQCDqcRZeeC9PlpJ0Pw1gKrTxVCdaJNOHmN/zrEQGRD/tyPoiwQjolsfqb8yI861i1 s14oGkbbsQdZ5z+jIwpz7l6uHtErqJcP2cRLzAWPMahOYMBHzmaZR/bDJZSiq0Mk1DkC cZPbd0sJQButMBwBgoGTD2bf7Ub04nXlcZOreZzcQHX3LolxoPrvR/hmYe//ml42gt6H i15SCu99+JYn0lvA6V/sqHLlvxBohhb5dy6qgf3JhOjKlxmp81+kDyH58SkZQI1XmCAp KU5A== 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=id54wTGP9x0w0c6UUU2ScTUrMVqWCvhlSZgjJGiT8nw=; b=A11Q+gDD9xV0P9RVbZxbOJQqj8mgUbDj6rYtKiKTYo/ZglUhmhdrsunAAQS9LLo2cx lcIB7p+o3sSKcnnJKy8R6k6sKb3b+Ys/5FMq7G5zxS3EP41h/VHDjS8Kajcm+eDVEnua 0el7IGOpo4+cQqMRnWmVS1YzCQ5Xm8M97oSzqAhgFn8CtwPBRgvWPzYmJCpKx2Gz9TkC 4ggTHks/Sgojm5yOWbguGTwfJHTdzYe5gmx+NIxkpIUqmWJ8k8uh8GNga+VLimFNu0op SAZG9q0ofJsMsnucHnlxBAgFegjvjhdrdiSoHLdWEufl8IVg+QOGA/4kCkOZiK5XCNHt swXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=0KInJnio; 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 kl24si9688783ejc.190.2021.09.13.16.20.32; Mon, 13 Sep 2021 16:20:56 -0700 (PDT) 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=0KInJnio; 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 S1346682AbhIMOqs (ORCPT + 99 others); Mon, 13 Sep 2021 10:46:48 -0400 Received: from mail.kernel.org ([198.145.29.99]:55842 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347757AbhIMOka (ORCPT ); Mon, 13 Sep 2021 10:40:30 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C25E163156; Mon, 13 Sep 2021 13:56:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1631541371; bh=4l5ZrdaofJTOe11wHeeRAu2Ge5s16S2jwm6ZhcVMu/g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=0KInJnio4LqvYrtl4mZfq/9ByRZViCLm7rOaprnirWoYzFklXQ7atTAFvpsDJjzCw L1hfbZP7ZX/r4cyeB770mcoi6AgspoW4YrWw3ySL8n4hbiY3k2E9cxJR+/rsNtJNOC 7SEUeSUvZoJLRkgEcMZ88198QKmK6uCnbnQgqqRU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Roi Dayan , Paul Blakey , Saeed Mahameed , Sasha Levin Subject: [PATCH 5.14 270/334] net/mlx5e: Fix possible use-after-free deleting fdb rule Date: Mon, 13 Sep 2021 15:15:24 +0200 Message-Id: <20210913131122.543345389@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210913131113.390368911@linuxfoundation.org> References: <20210913131113.390368911@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: Roi Dayan [ Upstream commit 9a5f9cc794e17cf6ed2a5bb215d2e8b6832db444 ] After neigh-update-add failure we are still with a slow path rule but the driver always assume the rule is an fdb rule. Fix neigh-update-del by checking slow path tc flag on the flow. Also fix neigh-update-add for when neigh-update-del fails the same. Fixes: 5dbe906ff1d5 ("net/mlx5e: Use a slow path rule instead if vxlan neighbour isn't available") Signed-off-by: Roi Dayan Reviewed-by: Paul Blakey Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c index 2e846b741280..1c44c6c345f5 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c @@ -147,7 +147,7 @@ void mlx5e_tc_encap_flows_add(struct mlx5e_priv *priv, mlx5e_rep_queue_neigh_stats_work(priv); list_for_each_entry(flow, flow_list, tmp_list) { - if (!mlx5e_is_offloaded_flow(flow)) + if (!mlx5e_is_offloaded_flow(flow) || !flow_flag_test(flow, SLOW)) continue; attr = flow->attr; esw_attr = attr->esw_attr; @@ -188,7 +188,7 @@ void mlx5e_tc_encap_flows_del(struct mlx5e_priv *priv, int err; list_for_each_entry(flow, flow_list, tmp_list) { - if (!mlx5e_is_offloaded_flow(flow)) + if (!mlx5e_is_offloaded_flow(flow) || flow_flag_test(flow, SLOW)) continue; attr = flow->attr; esw_attr = attr->esw_attr; -- 2.30.2