Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp2724615pxb; Mon, 31 Jan 2022 02:59:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJxsicqGBNMk/HamjlRzx7b6Yi/PNec4Y9oFObzjoquWSxm3TmygrFoEPnUCzkGuFRoOIDX3 X-Received: by 2002:a17:906:358b:: with SMTP id o11mr10124813ejb.229.1643626798820; Mon, 31 Jan 2022 02:59:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643626798; cv=none; d=google.com; s=arc-20160816; b=tJl8lj3wnXd5HhUNO3xNBjXPE1+iRKanHPZVzVFtgpyXJBIfun2aLI3BXoQqOIh03M YYOoS+YFzH5iVxEygygHOFIUK/0oZ2qI0oECfGnEVf+5plVQws6lE/rSAudvij3YFGlU d4Cjqq8TplQUvzs0FJ+y2apNMZsAeI0uv+sYabumO+YAVObm69evuZDm04NTU01bS31P jurfdugVFrVPxTANetPx4OO46k5x1++bRqxfea9Ezz+C1fPfWdTIVFdM5UtmsUy4SFxf wxAFJCcUpBrFWsft1UDTxR7DSkrEv+AlQhGlrD+3EiMHTWK2ohPhW6y2QPAbE5SjHJ14 N+wA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from; bh=2OmTzN8+OOZGIy1ayTVLNj6HAvPHNgjrYCgxzJKA3Cg=; b=zjfaRIYHNwx/Jfv9Q5TqKLgKrJ9DIxX9MrA0P3/SJHDBsJ0rHfk40TWqQOVSInDRga jRUZp/Y9bIcRehZMEesP0HvAFmzmG1AMyEuAIXwgqJwPtyctYkwz3OY8tzOUT0/OJvZP H2iCmGMyY5mfiFXpmQC9DQTYqJIljwAVfObXTpMya7Lxz3L6KevNG6mXa5+mqkO4mWtT 4KwSq8UBGJq5cxbIll/a/QHThahuPNXZCv5kpboYhcJs+iDqUSRms9s8Fuxdd62UjYy8 YQt+dlWwch8TDvhIveDTT4zX2XzAyx+sGH1y6Iw+pfwTGjj02oo99NnpFJe7ezuZyVOb fNBg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b8si7454067edd.580.2022.01.31.02.59.41; Mon, 31 Jan 2022 02:59:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348404AbiA1MbU (ORCPT + 72 others); Fri, 28 Jan 2022 07:31:20 -0500 Received: from paleale.coelho.fi ([176.9.41.70]:37826 "EHLO farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1348426AbiA1MbT (ORCPT ); Fri, 28 Jan 2022 07:31:19 -0500 Received: from 91-155-254-253.elisa-laajakaista.fi ([91.155.254.253] helo=kveik.lan) by farmhouse.coelho.fi with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1nDQPN-0002A0-1h; Fri, 28 Jan 2022 14:31:18 +0200 From: Luca Coelho To: kvalo@kernel.org Cc: luca@coelho.fi, linux-wireless@vger.kernel.org Date: Fri, 28 Jan 2022 14:30:54 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220128123057.524038-1-luca@coelho.fi> References: <20220128123057.524038-1-luca@coelho.fi> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on farmhouse.coelho.fi X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, TVD_RCVD_IP autolearn=ham autolearn_force=no version=3.4.6 Subject: [PATCH for v5.17 5/8] iwlwifi: mei: fix the pskb_may_pull check in ipv4 Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Emmanuel Grumbach The check makes sure that we can look at the ip header. We first need to check that the basic ip header (20 bytes) can be pulled before we look at the field that will teach us how long is the ip header. This is why there are two checks. The second check was wrong and smatch pointed that sizeof(ip_hdrlen(skb) - sizeof(*iphdr)) can't be right. Looking at the code again made me think that we really need ip_hdrlen(skb) since we want to make sure all the IP header is in the buffer header. This will allow us to set the transport offset and from there to look at the transport header (TCP / UDP). Reported-by: Dan Carpenter Signed-off-by: Emmanuel Grumbach Fixes: 2da4366f9e2c ("iwlwifi: mei: add the driver to allow cooperation with CSME") Signed-off-by: Luca Coelho --- drivers/net/wireless/intel/iwlwifi/mei/net.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/mei/net.c b/drivers/net/wireless/intel/iwlwifi/mei/net.c index 5f966af69720..468102a95e1b 100644 --- a/drivers/net/wireless/intel/iwlwifi/mei/net.c +++ b/drivers/net/wireless/intel/iwlwifi/mei/net.c @@ -195,8 +195,7 @@ static bool iwl_mei_rx_filter_ipv4(struct sk_buff *skb, bool match; if (!pskb_may_pull(skb, skb_network_offset(skb) + sizeof(*iphdr)) || - !pskb_may_pull(skb, skb_network_offset(skb) + - sizeof(ip_hdrlen(skb) - sizeof(*iphdr)))) + !pskb_may_pull(skb, skb_network_offset(skb) + ip_hdrlen(skb))) return false; iphdrlen = ip_hdrlen(skb); -- 2.34.1