Received: by 2002:a25:86ce:0:0:0:0:0 with SMTP id y14csp2183388ybm; Thu, 23 May 2019 12:44:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqwilWCNRKsjpOZSNwqBfGK/NrwrBNKkut0LXxzRYZozUtN56J4UqVE/+trZmPrbN9ktK3FW X-Received: by 2002:a17:90a:6348:: with SMTP id v8mr3709642pjs.34.1558640653072; Thu, 23 May 2019 12:44:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558640653; cv=none; d=google.com; s=arc-20160816; b=eKQydM/Zrg2rYf1BHCPZvLjgwnQjlC8Zxk49ji0nUYJd2E/XN1K5P89D6I8IRTu1/M uZaZq/8cZJfvED/LYKrsbfYUiUeLUnd9rndgS6MguhzCgn/6HKk691xIQwbaJaAKovZ3 nv1+U8KkEdFIVYLaoSJ7BUanlbxlOshdxszRU5V6eujek89v6z8c74N7P3ALve4iDcg4 ZxXIjtIe4S3kqMk0wquUlD5rjGyikgAfBG1WzF2NbAxGmeA3PqB/GyWEIGDzzIswlhOY 7P4TZ9Vg3GzVwUL0IuHkyha9GjVs5k6vqRFWRHs7P6xWuA/Gzxi1gSTxPkKj9DQJpPaJ KLcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=g02j7sDIk9pxX+fAt2K11vPV7+ZEcLAEV1Txb/2GJmQ=; b=Qqwa4GaJ65/LmGsvq548XSuvoqhk0cS5X6g2gPVoAWj1miErt9pHoupUxrnb/WlVK4 dlwEkYPBixeN9JdjCwaga6YuzvCYn7WoXzvhPTqkeqLdZG60uP7qKnoajPJHJOFrkcZr 5eMho+lb4HR0I/sdUeQfAB58/Wip+902xEEztsuxnXzB8vnTp5Q7mmTpWK2+UnohU4K8 k5313FSwWnNd3cJlRO7fIanBj/pS56Vv5XM15SieVN2Fx9beoAbR2UIAty26KEsoGrrB W6yV3sBtHRt4Yl+LghHNCalK2XLwGVt8nufT8CVSNkOhhyRiqRv5239Lr/kjp5CH5Wq0 cUXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=juCHr7b3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n129si377105pfn.106.2019.05.23.12.43.58; Thu, 23 May 2019 12:44:13 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=juCHr7b3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390665AbfEWTkw (ORCPT + 99 others); Thu, 23 May 2019 15:40:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:57742 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389368AbfEWTUs (ORCPT ); Thu, 23 May 2019 15:20:48 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 41792217D9; Thu, 23 May 2019 19:20:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1558639247; bh=laHD1jWBJrY0MXhlTLyPeumxAmw0dFaifheRZAZDSW8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=juCHr7b3jo12TvwAXk19CIP/y9VXTTHrg8shRFiXgOEQLYDaTR+xRXQvAo92O04WW Ol1MLhDbpC5cgvqtYoJW+fo2s0xSeh7aiJqs7je7a07Sqk7qugikR4Rnvjz2/WIfjT v7kxUvWHKNgzm+Wzo2+EXlpPRMi6sxhKFyeG/lXo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dmytro Linkin , Roi Dayan , Vlad Buslov , Saeed Mahameed Subject: [PATCH 5.0 016/139] net/mlx5e: Additional check for flow destination comparison Date: Thu, 23 May 2019 21:05:04 +0200 Message-Id: <20190523181722.662968930@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190523181720.120897565@linuxfoundation.org> References: <20190523181720.120897565@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dmytro Linkin [ Upstream commit c979c445a88e1c9dd7d8f90838c10456ae4ecd09 ] Flow destination comparison has an inaccuracy: code see no difference between same vf ports, which belong to different pfs. Example: If start ping from VF0 (PF1) to VF1 (PF1) and mirror all traffic to VF0 (PF2), icmp reply to VF0 (PF1) and mirrored flow to VF0 (PF2) would be determined as same destination. It lead to creating flow handler with rule nodes, which not added to node tree. When later driver try to delete this flow rules we got kernel crash. Add comparison of vhca_id field to avoid this. Fixes: 1228e912c934 ("net/mlx5: Consider encapsulation properties when comparing destinations") Signed-off-by: Dmytro Linkin Reviewed-by: Roi Dayan Reviewed-by: Vlad Buslov Signed-off-by: Saeed Mahameed Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c @@ -1375,6 +1375,8 @@ static bool mlx5_flow_dests_cmp(struct m if ((d1->type == MLX5_FLOW_DESTINATION_TYPE_VPORT && d1->vport.num == d2->vport.num && d1->vport.flags == d2->vport.flags && + ((d1->vport.flags & MLX5_FLOW_DEST_VPORT_VHCA_ID) ? + (d1->vport.vhca_id == d2->vport.vhca_id) : true) && ((d1->vport.flags & MLX5_FLOW_DEST_VPORT_REFORMAT_ID) ? (d1->vport.reformat_id == d2->vport.reformat_id) : true)) || (d1->type == MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE &&