Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp1392155ybp; Thu, 17 Oct 2019 12:06:17 -0700 (PDT) X-Google-Smtp-Source: APXvYqyLSclN+0gdCOmQEr3yWS+hVAG60Qt8IvkVNuNbKrW23cGILQgubqBfryXaf8d9y8GoJ3wT X-Received: by 2002:a17:906:16d2:: with SMTP id t18mr4984674ejd.28.1571339177139; Thu, 17 Oct 2019 12:06:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571339177; cv=none; d=google.com; s=arc-20160816; b=uTj+GIEiL9XFAouhq8Ukaz6r3C3lYSGwcRJU3TbVkooKLtPVFR3Sd1c8uC3WR+JBLm l6IyyLFbvrNLQj39W0z51DDjR10wr3kko8vuBkjysqbcij3XcuxEGrREtuuumLG97j+0 OC5imc7Mk2Xy0jVlN6o61qnoVxUOl5p435Us9D/rNt1JghFMZuChcsj+jHA6ByyqMlFr fRzPq1ewxqFuvxDqMB7SDQRRsqgqeNg3UyED5epLRxGfbbxlyPoSCxi5gIaGbFWat2AO hjhTSYbJ6owPovVPKNreeki9vn3diXHxt2kACzoZQCGNy8Gj9eiRTxOzb2aQKl/d1Iww y//Q== 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=1FrnuDAd/zphai4fJgy/syeM0iLV/2c7bN2PIu/JhTo=; b=oigm2YG0KantpXbo8UBM4MS3jPmhy9nao8yjokHFd4HzHoJKXBHxcvVxRvYHbM83Sj YtXPLb8wBO+MISAca1Q32/kpkl77tD5Tt2cuaxOySBLtAPQNLLpJ03zRcM41BdtlYfwt Tie633z8MPdAxw2A7XvrULuBtmLHJwbqpVPaR6hdf9oBOObb+860wf92bptiCEVQFOLB VEysVu8adG975lFmKjP+HwHnbIi8Fck5Bm5yi57X7bNKehs9pQF4iOMyLkJJs681BG5y AvKMn3BLyRjuuRTh0FJjftlNJ9oOaLnZi6HqJJkJuQoiWAh+GNCKRIyyq65y9quUdDZs H0ow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=2JkH+MvO; 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 ci22si2070744ejb.162.2019.10.17.12.05.53; Thu, 17 Oct 2019 12:06:17 -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=2JkH+MvO; 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 S2393318AbfJPWM0 (ORCPT + 99 others); Wed, 16 Oct 2019 18:12:26 -0400 Received: from mail.kernel.org ([198.145.29.99]:47912 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2406628AbfJPV4V (ORCPT ); Wed, 16 Oct 2019 17:56:21 -0400 Received: from localhost (unknown [192.55.54.58]) (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 AA0D221925; Wed, 16 Oct 2019 21:56:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1571262980; bh=7GqnbcH+r90nThr865WG1XKok01vq2QVJ4b1QhEQN5Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2JkH+MvONciyf/yd7aWjhLhjk5FkVr7AlfaNH8jhbTLBq08k9pU5826W44KxYPROD HpTNGpH8m9LXLDYoW69s+uU93jprg73Gfa//epjGX72vQG2emTl31JVUvtami9RLeS 0bFNAHWbaWWExRMYmJsrBAqxWLWEYIhexsoBfT3E= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hung-Te Lin , Brian Norris , Stephen Boyd , Guenter Roeck , Sasha Levin Subject: [PATCH 4.14 50/65] firmware: google: increment VPD key_len properly Date: Wed, 16 Oct 2019 14:51:04 -0700 Message-Id: <20191016214835.824729336@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191016214756.457746573@linuxfoundation.org> References: <20191016214756.457746573@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: Brian Norris [ Upstream commit 442f1e746e8187b9deb1590176f6b0ff19686b11 ] Commit 4b708b7b1a2c ("firmware: google: check if size is valid when decoding VPD data") adds length checks, but the new vpd_decode_entry() function botched the logic -- it adds the key length twice, instead of adding the key and value lengths separately. On my local system, this means vpd.c's vpd_section_create_attribs() hits an error case after the first attribute it parses, since it's no longer looking at the correct offset. With this patch, I'm back to seeing all the correct attributes in /sys/firmware/vpd/... Fixes: 4b708b7b1a2c ("firmware: google: check if size is valid when decoding VPD data") Cc: Cc: Hung-Te Lin Signed-off-by: Brian Norris Reviewed-by: Stephen Boyd Reviewed-by: Guenter Roeck Link: https://lore.kernel.org/r/20190930214522.240680-1-briannorris@chromium.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin --- drivers/firmware/google/vpd_decode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/firmware/google/vpd_decode.c b/drivers/firmware/google/vpd_decode.c index e75abe9fa122c..6c7ab2ba85d2f 100644 --- a/drivers/firmware/google/vpd_decode.c +++ b/drivers/firmware/google/vpd_decode.c @@ -62,7 +62,7 @@ static int vpd_decode_entry(const u32 max_len, const u8 *input_buf, if (max_len - consumed < *entry_len) return VPD_FAIL; - consumed += decoded_len; + consumed += *entry_len; *_consumed = consumed; return VPD_OK; } -- 2.20.1