Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3416412pxf; Mon, 29 Mar 2021 01:24:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyt6ugxickIM/DQVmzhDBfA6oF+e8ulrz9rx8M7qLR7vx57NtHowdbIZAY0FxmLPUrnvcje X-Received: by 2002:a17:907:110c:: with SMTP id qu12mr27852320ejb.442.1617006251279; Mon, 29 Mar 2021 01:24:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617006251; cv=none; d=google.com; s=arc-20160816; b=OuRjBCcsvGh5dnFSnd1xkJusxqk6xKqV8F58zlVpxzOHdXb1BJUSUCzpL6L2M8tAvl DALrjOcAvZXdm86XEnGUcukDLiRcQFF6Kz4gexesTh3B0nPMT63IeGHEZ+1gz+fZIW8d 77ZKGamz2KFxkMbnCPVVzSTj8yXW9MPnRDnuxkizqqCEEiy7UmTL5tbeuFAaGLiiM2cV QJYa3iTR2qynpBMnu3m255EuLNvCLpIoJTq5z2OakmqJf+doBblEd2rJyqhMSVTgDbrD Z2/e+Dx6yYSJM+7apNFfoCMSUgws/yWuWH1CgerxRpe3dTFhTDscdhbnYJil5sxBcrZj A7Bg== 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=KzuBPbYnuRvDF0wTyQx00gG8Rf8Y/jolhm7R4lvoz+A=; b=ne2PaEV0nGjC2h9FJKgYev1FNj2ncBqNEfR/4bdJc8c76vnB1QEuXGOtVw4EuW1XEk 8DF4PBwmwiYvVPa8LiJGnNTqZ6hntqwAcZpzxZx7Qe7h0HYaQDeyFuPptOo+s4eBOPR5 5kUndq/RkEcUH1J9ABVhDTfkbJ8XPbPbJHWMYeW0hwSXv2ypftQ5Aiv49ZoiwZUnHk3M L3OKojmQ1eFaGKBNV78J1FPRGoHlaQMmtMG5G7uVEV79BhvgrNF//nThP8UyOzxlUJ+3 7Iu82tIdvSgVL8ofqovZ+4CuXGxRfW1ty/Th/PdqyxDClKCBOK9xjU5yK/ZKqkSYks6F i7fA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=t8Gy9C2a; 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 p14si12300131eji.719.2021.03.29.01.23.48; Mon, 29 Mar 2021 01:24:11 -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=t8Gy9C2a; 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 S233208AbhC2IVs (ORCPT + 99 others); Mon, 29 Mar 2021 04:21:48 -0400 Received: from mail.kernel.org ([198.145.29.99]:57716 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232654AbhC2INl (ORCPT ); Mon, 29 Mar 2021 04:13:41 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5D1F0619AD; Mon, 29 Mar 2021 08:13:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1617005616; bh=meNTi/rBbsxheEt7c3c8egZcU5lgauhmABnY9cYU9Iw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=t8Gy9C2a5BHWTn6fVXw6SrsAAf3hiHAD7O5FcQKM+jcSY4VBhcEhIrFU3qmcO2AI8 5z/cLRywDHNQ891YuPT/P3edYIrf/17lAlWRlJzJhuK12CR1W6l1CEzA5YF+dt/N/L Kww8ZKuGEoeDnkpudWu/dHvcq14wQfxloJ/1Vwyg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Maor Dickman , Roi Dayan , Oz Shlomo , Yevgeny Kliteynik , Saeed Mahameed , Sasha Levin Subject: [PATCH 5.4 056/111] net/mlx5e: Dont match on Geneve options in case option masks are all zero Date: Mon, 29 Mar 2021 09:58:04 +0200 Message-Id: <20210329075617.068170920@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210329075615.186199980@linuxfoundation.org> References: <20210329075615.186199980@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: Maor Dickman [ Upstream commit 385d40b042e60aa0b677d7b400a0fefb44bcbaf4 ] The cited change added offload support for Geneve options without verifying the validity of the options masks, this caused offload of rules with match on Geneve options with class,type and data masks which are zero to fail. Fix by ignoring the match on Geneve options in case option masks are all zero. Fixes: 9272e3df3023 ("net/mlx5e: Geneve, Add support for encap/decap flows offload") Signed-off-by: Maor Dickman Reviewed-by: Roi Dayan Reviewed-by: Oz Shlomo Reviewed-by: Yevgeny Kliteynik Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c index 951ea26d96bc..6d27f69cc7fc 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c @@ -227,6 +227,10 @@ static int mlx5e_tc_tun_parse_geneve_options(struct mlx5e_priv *priv, option_key = (struct geneve_opt *)&enc_opts.key->data[0]; option_mask = (struct geneve_opt *)&enc_opts.mask->data[0]; + if (option_mask->opt_class == 0 && option_mask->type == 0 && + !memchr_inv(option_mask->opt_data, 0, option_mask->length * 4)) + return 0; + if (option_key->length > max_tlv_option_data_len) { NL_SET_ERR_MSG_MOD(extack, "Matching on GENEVE options: unsupported option len"); -- 2.30.1