Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp884310pxb; Wed, 3 Mar 2021 19:40:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJwVcF0P6P0i32XdVoB301DWKvxfYuBOJEVCD3rFLas13pq0qFCwix199O/DvBoHGGSKTdtF X-Received: by 2002:aa7:d656:: with SMTP id v22mr2143753edr.119.1614829214406; Wed, 03 Mar 2021 19:40:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614829214; cv=none; d=google.com; s=arc-20160816; b=h/b9VKiGAbphBpo1kBLz9//leYGVHOLk2pGvY0K470nkhbvT94CUbY3/3yqfC7SaST ObEMnABhWSAYrJilMWtffBfGNejVO9uc7I+mP02n1s24cMYF0KK+RwNHceCduJKYv/+n 5GV6KAwhxKt5YoYfz79OJoBT1we8ZxxqWCLXplzjveGmWPsvcG3Q0zrt50pu61lbfx2S eNa1z4GJYZvQSISbkzqP2JMfhT63OIKeaHJ3cGXU6Pf7he5N+b+/eG0VQ3LcaoSfP1Yd m17X+3PBFaNQRmK0AfJSpl1lusa8DdkETK99V91vZDnStQkQbYRQCXR/pu74wxcWZq9X v5Cw== 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=ZAQuNo4FN1d1OrHYfUscj4wyM3Cl9kEAYoU3ZgHk8SY=; b=HaFEgi+78+dca3hC3x40NLS7wm+AuyEhcsJBf/+Fzq1nMl3PIXtYawGZhDtDtPKfyd rLxICGsK62wPpXyPzRESqMQhAI3ZtRsmwKUNpeth58pUGuaIbtSlIzN0SDUeFAqP9n3a oGVxdrYDp/AU+g4jhd/0jFv97hJvzu4ZZ2KkacUnrjKSHi9w/iK6B7Qz3sQHMTVYf+ls fevNIUXhCRtU/p4bms7j3A7OwOLIUlz03RDzRKhYRav0WxP7W4VVUimUVP6ZIfRV6RwF I0UqC8WIia8fegM/N2M5oNthihUFSl4S12JxpdrnD2+cZBxZsWIDFiR1J5q8eD8Ekkkb 2oqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wSNZbNVo; 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 du8si16732630ejc.659.2021.03.03.19.39.51; Wed, 03 Mar 2021 19:40:14 -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=wSNZbNVo; 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 S1379574AbhCBB3j (ORCPT + 99 others); Mon, 1 Mar 2021 20:29:39 -0500 Received: from mail.kernel.org ([198.145.29.99]:43884 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241334AbhCATRl (ORCPT ); Mon, 1 Mar 2021 14:17:41 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id D6ABC65176; Mon, 1 Mar 2021 17:07:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1614618461; bh=xxHIthO+Tx85OMbCDOiBkQxt46n8uaKklXdfUTJUu7w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wSNZbNVoSe6gcxK7jeCQD+mWvE5o+PZZLg52LOY1bxN8X6fsbeLaZsEziLIpgG1wS On45LkoFfp8RhSAgO0hXQ9bPBiQEF/nI0HCm7Csv0laVouUlNX1n1Ex20+xVSlhzCJ sRd57ZBI+65OW8fVvgurQb7bzEa/LF15gFEoiZWI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Luca Coelho , Sasha Levin Subject: [PATCH 5.10 094/663] iwlwifi: pnvm: increment the pointer before checking the TLV Date: Mon, 1 Mar 2021 17:05:42 +0100 Message-Id: <20210301161146.382404789@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210301161141.760350206@linuxfoundation.org> References: <20210301161141.760350206@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: Luca Coelho [ Upstream commit ff11a8ee2d2d0f78514ac9b42fb50c525ca695c7 ] If the SKU_ID doesn't match, we don't increment the pointer and keep checking the same TLV over and over again. We need to increment the pointer in all situtations, namely if the TLV is not a SKU_ID, if the SKU_ID matched or if the SKU_ID didn't match. So we can increment the pointer already before checking for these conditions to solve the problem. Signed-off-by: Luca Coelho Fixes: 6972592850c0 ("iwlwifi: read and parse PNVM file") Signed-off-by: Luca Coelho Link: https://lore.kernel.org/r/iwlwifi.20210210172142.de94d366f3ff.I9a5a54906cf0f4ec8af981d6066bfd771152ffb9@changeid Signed-off-by: Luca Coelho Signed-off-by: Sasha Levin --- drivers/net/wireless/intel/iwlwifi/fw/pnvm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c b/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c index 1e16f83b402b8..37ce4fe136c5e 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c @@ -198,14 +198,14 @@ static int iwl_pnvm_parse(struct iwl_trans *trans, const u8 *data, le32_to_cpu(sku_id->data[1]), le32_to_cpu(sku_id->data[2])); + data += sizeof(*tlv) + ALIGN(tlv_len, 4); + len -= ALIGN(tlv_len, 4); + if (trans->sku_id[0] == le32_to_cpu(sku_id->data[0]) && trans->sku_id[1] == le32_to_cpu(sku_id->data[1]) && trans->sku_id[2] == le32_to_cpu(sku_id->data[2])) { int ret; - data += sizeof(*tlv) + ALIGN(tlv_len, 4); - len -= ALIGN(tlv_len, 4); - ret = iwl_pnvm_handle_section(trans, data, len); if (!ret) return 0; -- 2.27.0