Delivered-To: florian.fainelli@broadcom.com
Received: by 2002:a05:7000:2c08:0:0:0:0 with SMTP id ea8csp871834mab;
        Wed, 28 Sep 2022 18:30:02 -0700 (PDT)
X-Google-Smtp-Source: AMsMyM6LM4d/uPwNiM+S/X3ujhl808MP0Mw1nuf5xAjp0nyX8bv6PjyJeSOiSL90xy+2MexSjbHu
X-Received: by 2002:a05:6a00:2292:b0:547:5bd7:8966 with SMTP id f18-20020a056a00229200b005475bd78966mr647878pfe.62.1664415002424;
        Wed, 28 Sep 2022 18:30:02 -0700 (PDT)
ARC-Seal: i=3; a=rsa-sha256; t=1664415002; cv=pass;
        d=google.com; s=arc-20160816;
        b=n7yGkFBJjpnhuzNYCAPsf1N5ecxTakpKXR3xwt5Gaws4gVO7MJrSSAFW6hxXb96dn5
         brmIb2S+cnXKEahUamWnfVREOozvsoPkc5+jW+VKOmsBHKRLACg+ZJW74OgOqJ3YPK/W
         6BoI3e0nRWcMVcVT0unAdpyT2DdAzfnWEl12J4zr6BYO5/UrkH1Bkk8y3Ix8KhcEfD+w
         kBWqdGx6d2EcF9s6eOkcq2r/2sYRMLOs8yYBgunhD5u5GLWAAmCtXRqnmYm4vbndIfHu
         uFdluxvlbclQj9rWGuXcEBaqtIMpo11eCEmSI0DZwbbgAS7dRPC2nWh+vkcHLOld58Qb
         YFIw==
ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=list-unsubscribe:list-archive:list-help:list-post:list-id
         :mailing-list:precedence:content-transfer-encoding:mime-version
         :message-id:date:subject:cc:to:from:dkim-filter:dkim-signature;
        bh=DrWPdpv9g9poqE2U2WUPf2FaOQ2uqccHSh9WfATBlWs=;
        b=kSY6bLK5XTKAPbbkEB90MJll8SSUVG7eJn6MPgEh+5uIEJ+ZQBqcgig7DNeZbouxn4
         7O1JZeXLuxm2ZCJZB3ayvLRbnuxYhdIf/HiCFOhUE2caMA8JtwmPdI66AyeeZjOrwJcu
         XBp7lIeq1N3KW9iZYxlkvfFkVy7y2rDPBsDJi8aSIB/G6dSVv/O3qGSLIYEPLfOFk6+S
         HPJ/YG4nDqBVJX5htDxeQJALzIdExCnGFb9DW+h/u0gNfupIZAnePsLG5vAyn7PtNqkC
         0erYAUvWJPqH7d5HiyKEQtZplPVZGsXjLxkb7+T+7L9BDagQKOCTc+8nliiPclLoSKqj
         JQtQ==
ARC-Authentication-Results: i=3; mx.google.com;
       dkim=pass header.i=@broadcom.com header.s=google header.b=VCkzpXbA;
       arc=pass (i=2 spf=pass spfdomain=broadcom.com dkim=pass dkdomain=broadcom.com);
       spf=pass (google.com: domain of bcm-kernel-feedback-list.pdl+bncbdrnrc6tsecrbgpk2omqmgqexzmegjy@broadcom.com designates 2607:f8b0:4864:20::645 as permitted sender) smtp.mailfrom=bcm-kernel-feedback-list.pdl+bncBDRNRC6TSECRBGPK2OMQMGQEXZMEGJY@broadcom.com;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com
Return-Path: <bcm-kernel-feedback-list.pdl+bncBDRNRC6TSECRBGPK2OMQMGQEXZMEGJY@broadcom.com>
Received: from mail-pl1-x645.google.com (mail-pl1-x645.google.com. [2607:f8b0:4864:20::645])
        by mx.google.com with ESMTPS id l184-20020a6391c1000000b00435135c1d96si7384678pge.806.2022.09.28.18.30.02
        for <florian.fainelli@broadcom.com>
        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
        Wed, 28 Sep 2022 18:30:02 -0700 (PDT)
Received-SPF: pass (google.com: domain of bcm-kernel-feedback-list.pdl+bncbdrnrc6tsecrbgpk2omqmgqexzmegjy@broadcom.com designates 2607:f8b0:4864:20::645 as permitted sender) client-ip=2607:f8b0:4864:20::645;
Authentication-Results: mx.google.com;
       dkim=pass header.i=@broadcom.com header.s=google header.b=VCkzpXbA;
       arc=pass (i=2 spf=pass spfdomain=broadcom.com dkim=pass dkdomain=broadcom.com);
       spf=pass (google.com: domain of bcm-kernel-feedback-list.pdl+bncbdrnrc6tsecrbgpk2omqmgqexzmegjy@broadcom.com designates 2607:f8b0:4864:20::645 as permitted sender) smtp.mailfrom=bcm-kernel-feedback-list.pdl+bncBDRNRC6TSECRBGPK2OMQMGQEXZMEGJY@broadcom.com;
       dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com
Received: by mail-pl1-x645.google.com with SMTP id u5-20020a170902e80500b00178944c46aasf9189858plg.4
        for <florian.fainelli@broadcom.com>; Wed, 28 Sep 2022 18:30:02 -0700 (PDT)
ARC-Seal: i=2; a=rsa-sha256; t=1664415002; cv=pass;
        d=google.com; s=arc-20160816;
        b=JMVZ+J8V6C/hTSN4JRQ4MdVMRrGSfW/W3HGatgXQoei/AdAP7o7TyLTCrBrQuR0Rma
         BDnHbR5A+mOMbQE6fPLnFveGPVmtbqea5iqyoavw31NC7sZK0A+6NLpk7sJ4LvBEgain
         krdBFQ/L+ZSHZciu+1/Rw0TkJTSGQ5Evtc7jzqMDDhB3zZ+HPQgRi3+GzfDhZ9Opb8WU
         t16Mz14TTdWckfxpUNRejWHvCIvg7WR2BtG2jXrUKa5a24w6S52Xvek4oacX82QvhR5Y
         3dRfb/R7CyXCKSiBCWGvH537vuDliZAPsKQUnz1ld8rT54bkMOYWrpF+ECXNZleAObHT
         miyQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=list-unsubscribe:list-archive:list-help:list-post:list-id
         :mailing-list:precedence:content-transfer-encoding:mime-version
         :message-id:date:subject:cc:to:from:dkim-filter:dkim-signature;
        bh=DrWPdpv9g9poqE2U2WUPf2FaOQ2uqccHSh9WfATBlWs=;
        b=gbyBI56YmXa9h/JZH7CYKkDDvzE2rz5uueEAGfrj8JYnAVrj4J/49rU/Crefh8wxMQ
         KIw56dN8zhK57QDXa20lXtqKiXwuPh+TALHFd+GF51h2yGRyjGotN4r1NOzFLEMNLmky
         U2iRC25AczTxRescSpvLwop3KjkG0jEggMoCVMEBgj9Ek4LdNegWalhoSDwPj/kZelw9
         mhMuEP9UAK1SiFmd0nBtZ+hYHQW3Gk0+1FyOYqQzrDgUojr/YlyqZFoHLL8ttAdhXlCW
         7H37fjCa8Stt5ntkYeEA2QzqI9B2jgSsGMEpPEreCBEuYta0B+YJVnknxRxVwCANBPYK
         a3KQ==
ARC-Authentication-Results: i=2; mx.google.com;
       dkim=pass header.i=@broadcom.com header.s=dkimrelay header.b=e0USVyhW;
       spf=pass (google.com: domain broadcom.com configured 192.19.166.232 as internal address) smtp.mailfrom=william.zhang@broadcom.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=broadcom.com; s=google;
        h=list-unsubscribe:list-archive:list-help:list-post:list-id
         :mailing-list:precedence:x-original-authentication-results
         :x-original-sender:content-transfer-encoding:mime-version:message-id
         :date:subject:cc:to:from:dkim-filter:from:to:cc:subject:date;
        bh=DrWPdpv9g9poqE2U2WUPf2FaOQ2uqccHSh9WfATBlWs=;
        b=VCkzpXbAu6GezC6++tfUcJTF+s8saMwqBLPPWIaE51tR4ZEpGHv4n6+1hbIHNSl8Te
         AKBPzVfkvnp9GwSLSHCMVpNR9h/2/04x+5hZ1AXGJj50MnQf/b1B7WDzz1rrNTFp51Le
         jADAdwCEOxO4ddsk1f0FsqJcZJ4UEhlKhXsTE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=list-unsubscribe:list-archive:list-help:list-post
         :x-spam-checked-in-group:list-id:mailing-list:precedence
         :x-original-authentication-results:x-original-sender
         :content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:dkim-filter:x-gm-message-state:from:to:cc:subject:date;
        bh=DrWPdpv9g9poqE2U2WUPf2FaOQ2uqccHSh9WfATBlWs=;
        b=6nMCWQzloiu7ydfH1S9j2F0niwbBloFhxuVfa4KOY4id/XJ+yMf6USRFjaTp4/xaa8
         /jTNF5xJiMaFs7c8/OTRF4bwEy9/xUMiyxG+Zi3jiKJoZGCoXRrGH7GDoDFmCDTceBsz
         ED2RdK36AFZ7JN2qsyR3UWjA8fVO0/hebah0Iz3Mh5r9U1GnlFhtKWPDE2lXKu/qHy/F
         oPcSO7UzBGijUA14UtwqsLqk16aDgd316aZ3lLXFUQdtkP6aZbwiGC2O6+besGmUFcD5
         /CzJIL7HlkOadSuaMFKzjso+k5p6Y66YJRIU5i12yIvE8NmwY0aYWlMRpajizKw3wazG
         lUvA==
X-Gm-Message-State: ACrzQf2HP0122g45+zHFpJGwSHM1W0H59v/KdcDxitUEuDW0ljV2pLQB
	E6a/Vog6lUQWGskIG8OYSaJLVrwR
X-Received: by 2002:a17:902:8549:b0:178:6399:3e0f with SMTP id d9-20020a170902854900b0017863993e0fmr883484plo.35.1664415001899;
        Wed, 28 Sep 2022 18:30:01 -0700 (PDT)
X-BeenThere: bcm-kernel-feedback-list.pdl@broadcom.com
Received: by 2002:a65:6d96:0:b0:434:cb11:5486 with SMTP id bc22-20020a656d96000000b00434cb115486ls206186pgb.5.-pod-prod-gmail;
 Wed, 28 Sep 2022 18:30:01 -0700 (PDT)
X-Received: by 2002:a63:fd41:0:b0:438:7670:589a with SMTP id m1-20020a63fd41000000b004387670589amr647992pgj.148.1664415000784;
        Wed, 28 Sep 2022 18:30:00 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1664415000; cv=none;
        d=google.com; s=arc-20160816;
        b=PHibidew7je+sF7XhmYABaURC7c1+J5n+opE+W8slZSGhIODjgMZ9zg8btFpd/Rsso
         LFE8jC6/YWK0Z3786ywerH49LMFisgpnvVqW/RWjXZDnymECM8LzixK0gkCqBrn4soBO
         3j878YN/7dtPEHk2CLwRhao0PslqW5nSQG8xqqPhnfs4ByxxYS6ISA+XndGAe4tEy+Vo
         g/rin2lXbUZVz5Lc1wHfsNovsQNWV7akUDg6S9lelnmZbYhBjB6byvN/QmplxeEzw1aP
         WjCpzCmy7lrlpZ3vB4IjHiaekTdnooAG6t7ED02XNuRxKTGPYnId7IJG5YN59x8klmrj
         KQuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:dkim-signature:dkim-filter;
        bh=DrWPdpv9g9poqE2U2WUPf2FaOQ2uqccHSh9WfATBlWs=;
        b=jx3KErhVWJtlk7eVDfLfgraj2GSrWjUSu0b0lF10byOToj2WFnZX58iDi/6Q3DY7nX
         b6ZSOJ9sw4cdUrXIgYzD1YDacRReDaIDDlyddG/lBbzDjfm4MJJ0ne+UN5S80VTuwHlh
         gmofCNaHW3XtBdZnBgtqSKfYGdZagjIH8E7itAEvGCGPaM0keFAMwPmJlvrpBWhgFWWb
         ZkLktn/lS8HR0sYUGujLH2gfFCYsr+bdJXjac/xAHIJbNy9MDWpJS0lcuQs181nB5hdo
         pQlfHPsOh4Y3xyp5xrrDrEycBERF7E0Jm5filqak0FARHNN3nw2uNYbj4GITj9GoDper
         uOPw==
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@broadcom.com header.s=dkimrelay header.b=e0USVyhW;
       spf=pass (google.com: domain broadcom.com configured 192.19.166.232 as internal address) smtp.mailfrom=william.zhang@broadcom.com
Received: from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com. [192.19.166.232])
        by mx.google.com with ESMTPS id l4-20020a170903244400b001733f3e79e4si7790170pls.607.2022.09.28.18.30.00
        (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
        Wed, 28 Sep 2022 18:30:00 -0700 (PDT)
Received-SPF: pass (google.com: domain broadcom.com configured 192.19.166.232 as internal address)
Received: from mail-ash-it-01.broadcom.com (mail-ash-it-01.acc.broadcom.net [10.35.36.83])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by rnd-relay.smtp.broadcom.com (Postfix) with ESMTPS id 37F30C000920;
	Wed, 28 Sep 2022 18:30:00 -0700 (PDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 rnd-relay.smtp.broadcom.com 37F30C000920
Received: from bcacpedev-irv-3.lvn.broadcom.net (bcacpedev-irv-3.lvn.broadcom.net [10.75.138.105])
	by mail-ash-it-01.broadcom.com (Postfix) with ESMTP id 8A002C14D020;
	Wed, 28 Sep 2022 21:29:59 -0400 (EDT)
Received: by bcacpedev-irv-3.lvn.broadcom.net (Postfix, from userid 28376)
	id 4BA3B101AB7; Wed, 28 Sep 2022 18:29:59 -0700 (PDT)
From: William Zhang <william.zhang@broadcom.com>
To: Linux ARM List <linux-arm-kernel@lists.infradead.org>
Cc: f.fainelli@gmail.com,
	anand.gore@broadcom.com,
	Broadcom Kernel List <bcm-kernel-feedback-list@broadcom.com>,
	William Zhang <william.zhang@broadcom.com>,
	Chen-Yu Tsai <wens@csie.org>,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	Maxime Ripard <mripard@kernel.org>,
	=?UTF-8?q?Myl=C3=A8ne=20Josserand?= <mylene.josserand@bootlin.com>,
	Russell King <linux@armlinux.org.uk>,
	Samuel Holland <samuel@sholland.org>,
	linux-kernel@vger.kernel.org,
	linux-sunxi@lists.linux.dev
Subject: [PATCH] ARM: sun9i: smp: fix out-of-bounds access error
Date: Wed, 28 Sep 2022 18:29:43 -0700
Message-Id: <20220929012944.454613-1-william.zhang@broadcom.com>
X-Mailer: git-send-email 2.37.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Original-Sender: william.zhang@broadcom.com
X-Original-Authentication-Results: mx.google.com;       dkim=pass
 header.i=@broadcom.com header.s=dkimrelay header.b=e0USVyhW;       spf=pass
 (google.com: domain broadcom.com configured 192.19.166.232 as internal
 address) smtp.mailfrom=william.zhang@broadcom.com
Precedence: list
Mailing-list: list bcm-kernel-feedback-list.pdl@broadcom.com; contact bcm-kernel-feedback-list.pdl+owners@broadcom.com
List-ID: <bcm-kernel-feedback-list.pdl.broadcom.com>
X-Spam-Checked-In-Group: bcm-kernel-feedback-list.pdl@broadcom.com
X-Google-Group-Id: 261566538904
List-Post: <https://groups.google.com/a/broadcom.com/group/bcm-kernel-feedback-list.pdl/post>,
 <mailto:bcm-kernel-feedback-list.pdl@broadcom.com>
List-Help: <https://support.google.com/a/broadcom.com/bin/topic.py?topic=25838>,
 <mailto:bcm-kernel-feedback-list.pdl+help@broadcom.com>
List-Archive: <https://groups.google.com/a/broadcom.com/group/bcm-kernel-feedback-list.pdl/>
List-Unsubscribe: <mailto:googlegroups-manage+261566538904+unsubscribe@googlegroups.com>,
 <https://groups.google.com/a/broadcom.com/group/bcm-kernel-feedback-list.pdl/subscribe>

When running multi_v7_defconfig with CONFIG_UBSAN enabled, kernel
reports UBSAN array-index-out-of-bounds error in sunxi_mc_smp_init
function on non-sunxi platform.

Checking index to the sunxi_mc_smp_data array for out-of-bounds
condition is needed to cover non-sunxi platform. Also fix the handling
of return value from of_property_match_string function. Only negitive
value is an error condition and should bail out from the function.

Fixes: 1631090e34f5 ("ARM: sun9i: smp: Add is_a83t field")

Signed-off-by: William Zhang <william.zhang@broadcom.com>

---

 arch/arm/mach-sunxi/mc_smp.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-sunxi/mc_smp.c b/arch/arm/mach-sunxi/mc_smp.c
index 26cbce135338..0373fa002f04 100644
--- a/arch/arm/mach-sunxi/mc_smp.c
+++ b/arch/arm/mach-sunxi/mc_smp.c
@@ -804,16 +804,16 @@ static int __init sunxi_mc_smp_init(void)
 	for (i = 0; i < ARRAY_SIZE(sunxi_mc_smp_data); i++) {
 		ret = of_property_match_string(node, "enable-method",
 					       sunxi_mc_smp_data[i].enable_method);
-		if (!ret)
+		if (ret >= 0)
 			break;
 	}
 
-	is_a83t = sunxi_mc_smp_data[i].is_a83t;
-
 	of_node_put(node);
-	if (ret)
+	if (ret < 0 || i >= ARRAY_SIZE(sunxi_mc_smp_data))
 		return -ENODEV;
 
+	is_a83t = sunxi_mc_smp_data[i].is_a83t;
+
 	if (!sunxi_mc_smp_cpu_table_init())
 		return -EINVAL;
 
-- 
2.37.3

