From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 87D46C433F5 for ; Fri, 1 Apr 2022 09:28:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344545AbiDAJak (ORCPT ); Fri, 1 Apr 2022 05:30:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46452 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344559AbiDAJah (ORCPT ); Fri, 1 Apr 2022 05:30:37 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id DC4A91CCACE for ; Fri, 1 Apr 2022 02:28:47 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B747A13D5 for ; Fri, 1 Apr 2022 02:28:46 -0700 (PDT) Received: from e110455-lin.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 78D763F66F for ; Fri, 1 Apr 2022 02:28:46 -0700 (PDT) Date: Fri, 1 Apr 2022 10:28:29 +0100 From: Liviu Dudau To: Kees Cook Cc: Sudeep Holla , Lorenzo Pieralisi , Russell King , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Subject: Re: [PATCH] ARM: vexpress/spc: Avoid negative array index when !SMP Message-ID: References: <20220331190443.851661-1-keescook@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220331190443.851661-1-keescook@chromium.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 31, 2022 at 12:04:43PM -0700, Kees Cook wrote: > When building multi_v7_defconfig+CONFIG_SMP=n, -Warray-bounds exposes > a couple negative array index accesses: > > arch/arm/mach-vexpress/spc.c: In function 've_spc_clk_init': > arch/arm/mach-vexpress/spc.c:583:21: warning: array subscript -1 is below array bounds of 'bool[2]' {aka '_Bool[2]'} [-Warray-bounds] > 583 | if (init_opp_table[cluster]) > | ~~~~~~~~~~~~~~^~~~~~~~~ > arch/arm/mach-vexpress/spc.c:556:7: note: while referencing 'init_opp_table' > 556 | bool init_opp_table[MAX_CLUSTERS] = { false }; > | ^~~~~~~~~~~~~~ > arch/arm/mach-vexpress/spc.c:592:18: warning: array subscript -1 is below array bounds of 'bool[2]' {aka '_Bool[2]'} [-Warray-bounds] > 592 | init_opp_table[cluster] = true; > | ~~~~~~~~~~~~~~^~~~~~~~~ > arch/arm/mach-vexpress/spc.c:556:7: note: while referencing 'init_opp_table' > 556 | bool init_opp_table[MAX_CLUSTERS] = { false }; > | ^~~~~~~~~~~~~~ > > Skip this logic when built !SMP. > > Cc: Liviu Dudau > Cc: Sudeep Holla > Cc: Lorenzo Pieralisi > Cc: Russell King > Cc: linux-arm-kernel@lists.infradead.org > Signed-off-by: Kees Cook Acked-by: Liviu Dudau Sudeep, can you please take this through your tree for sending it to arm-soc? Best regards, Liviu > --- > arch/arm/mach-vexpress/spc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm/mach-vexpress/spc.c b/arch/arm/mach-vexpress/spc.c > index 1da11bdb1dfb..1c6500c4e6a1 100644 > --- a/arch/arm/mach-vexpress/spc.c > +++ b/arch/arm/mach-vexpress/spc.c > @@ -580,7 +580,7 @@ static int __init ve_spc_clk_init(void) > } > > cluster = topology_physical_package_id(cpu_dev->id); > - if (init_opp_table[cluster]) > + if (cluster < 0 || init_opp_table[cluster]) > continue; > > if (ve_init_opp_table(cpu_dev)) > -- > 2.32.0 > -- ==================== | I would like to | | fix the world, | | but they're not | | giving me the | \ source code! / --------------- ¯\_(ツ)_/¯ From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 646BBC433F5 for ; Fri, 1 Apr 2022 09:29:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Xt7EeTKzUw9iOQEiUHO8Ro49+It7hhgZuH/MoKQJiuA=; b=lTDEhxiERIYxTl JvfHwhv+8O3V6yGGd2P0xbMWKy+JvseIBtVBartnCVICi9kGyWVq+iQskcK4f52DJXRguabExtSWv o0bsl+7+tMUqa8NysEONCletXl2DDpqc7uQ7nm95BnEuGjXtG7PS7CyX129/iOLTHwj6gHrPkw2BI pSfOg5u/U0RBn/JNP2Tac93mL+yz12vca33zX0v9SbhwucnoJR2WhHt9K5U5N3EocoFWbAPwLB22O vjABtCPdbqcAXaEussf0dqi80FfHlABstZ6W97SUmzkfJ72SAF/LPtxreFk082ueZTf+S9mjEtIa7 +aUbCSsUxpauREE25uZQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1naDaQ-00524N-Mm; Fri, 01 Apr 2022 09:28:54 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1naDaN-00522d-OM for linux-arm-kernel@lists.infradead.org; Fri, 01 Apr 2022 09:28:53 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7ACC9139F for ; Fri, 1 Apr 2022 02:28:45 -0700 (PDT) Received: from e110455-lin.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3C7D43F66F for ; Fri, 1 Apr 2022 02:28:45 -0700 (PDT) Date: Fri, 1 Apr 2022 10:28:29 +0100 From: Liviu Dudau To: Kees Cook Cc: Sudeep Holla , Lorenzo Pieralisi , Russell King , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Subject: Re: [PATCH] ARM: vexpress/spc: Avoid negative array index when !SMP Message-ID: References: <20220331190443.851661-1-keescook@chromium.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220331190443.851661-1-keescook@chromium.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220401_022851_879275_BD10A7B4 X-CRM114-Status: GOOD ( 18.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBNYXIgMzEsIDIwMjIgYXQgMTI6MDQ6NDNQTSAtMDcwMCwgS2VlcyBDb29rIHdyb3Rl Ogo+IFdoZW4gYnVpbGRpbmcgbXVsdGlfdjdfZGVmY29uZmlnK0NPTkZJR19TTVA9biwgLVdhcnJh eS1ib3VuZHMgZXhwb3Nlcwo+IGEgY291cGxlIG5lZ2F0aXZlIGFycmF5IGluZGV4IGFjY2Vzc2Vz Ogo+IAo+IGFyY2gvYXJtL21hY2gtdmV4cHJlc3Mvc3BjLmM6IEluIGZ1bmN0aW9uICd2ZV9zcGNf Y2xrX2luaXQnOgo+IGFyY2gvYXJtL21hY2gtdmV4cHJlc3Mvc3BjLmM6NTgzOjIxOiB3YXJuaW5n OiBhcnJheSBzdWJzY3JpcHQgLTEgaXMgYmVsb3cgYXJyYXkgYm91bmRzIG9mICdib29sWzJdJyB7 YWthICdfQm9vbFsyXSd9IFstV2FycmF5LWJvdW5kc10KPiAgIDU4MyB8ICAgaWYgKGluaXRfb3Bw X3RhYmxlW2NsdXN0ZXJdKQo+ICAgICAgIHwgICAgICAgfn5+fn5+fn5+fn5+fn5efn5+fn5+fn4K PiBhcmNoL2FybS9tYWNoLXZleHByZXNzL3NwYy5jOjU1Njo3OiBub3RlOiB3aGlsZSByZWZlcmVu Y2luZyAnaW5pdF9vcHBfdGFibGUnCj4gICA1NTYgfCAgYm9vbCBpbml0X29wcF90YWJsZVtNQVhf Q0xVU1RFUlNdID0geyBmYWxzZSB9Owo+ICAgICAgIHwgICAgICAgXn5+fn5+fn5+fn5+fn4KPiBh cmNoL2FybS9tYWNoLXZleHByZXNzL3NwYy5jOjU5MjoxODogd2FybmluZzogYXJyYXkgc3Vic2Ny aXB0IC0xIGlzIGJlbG93IGFycmF5IGJvdW5kcyBvZiAnYm9vbFsyXScge2FrYSAnX0Jvb2xbMl0n fSBbLVdhcnJheS1ib3VuZHNdCj4gICA1OTIgfCAgICBpbml0X29wcF90YWJsZVtjbHVzdGVyXSA9 IHRydWU7Cj4gICAgICAgfCAgICB+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fgo+IGFyY2gvYXJtL21h Y2gtdmV4cHJlc3Mvc3BjLmM6NTU2Ojc6IG5vdGU6IHdoaWxlIHJlZmVyZW5jaW5nICdpbml0X29w cF90YWJsZScKPiAgIDU1NiB8ICBib29sIGluaXRfb3BwX3RhYmxlW01BWF9DTFVTVEVSU10gPSB7 IGZhbHNlIH07Cj4gICAgICAgfCAgICAgICBefn5+fn5+fn5+fn5+fgo+IAo+IFNraXAgdGhpcyBs b2dpYyB3aGVuIGJ1aWx0ICFTTVAuCj4gCj4gQ2M6IExpdml1IER1ZGF1IDxsaXZpdS5kdWRhdUBh cm0uY29tPgo+IENjOiBTdWRlZXAgSG9sbGEgPHN1ZGVlcC5ob2xsYUBhcm0uY29tPgo+IENjOiBM b3JlbnpvIFBpZXJhbGlzaSA8bG9yZW56by5waWVyYWxpc2lAYXJtLmNvbT4KPiBDYzogUnVzc2Vs bCBLaW5nIDxsaW51eEBhcm1saW51eC5vcmcudWs+Cj4gQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwo+IFNpZ25lZC1vZmYtYnk6IEtlZXMgQ29vayA8a2Vlc2Nvb2tAY2hy b21pdW0ub3JnPgoKQWNrZWQtYnk6IExpdml1IER1ZGF1IDxsaXZpdS5kdWRhdUBhcm0uY29tPgoK U3VkZWVwLCBjYW4geW91IHBsZWFzZSB0YWtlIHRoaXMgdGhyb3VnaCB5b3VyIHRyZWUgZm9yIHNl bmRpbmcgaXQgdG8gYXJtLXNvYz8KCkJlc3QgcmVnYXJkcywKTGl2aXUKCj4gLS0tCj4gIGFyY2gv YXJtL21hY2gtdmV4cHJlc3Mvc3BjLmMgfCAyICstCj4gIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXZl eHByZXNzL3NwYy5jIGIvYXJjaC9hcm0vbWFjaC12ZXhwcmVzcy9zcGMuYwo+IGluZGV4IDFkYTEx YmRiMWRmYi4uMWM2NTAwYzRlNmExIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL21hY2gtdmV4cHJl c3Mvc3BjLmMKPiArKysgYi9hcmNoL2FybS9tYWNoLXZleHByZXNzL3NwYy5jCj4gQEAgLTU4MCw3 ICs1ODAsNyBAQCBzdGF0aWMgaW50IF9faW5pdCB2ZV9zcGNfY2xrX2luaXQodm9pZCkKPiAgCQl9 Cj4gCj4gIAkJY2x1c3RlciA9IHRvcG9sb2d5X3BoeXNpY2FsX3BhY2thZ2VfaWQoY3B1X2Rldi0+ aWQpOwo+IC0JCWlmIChpbml0X29wcF90YWJsZVtjbHVzdGVyXSkKPiArCQlpZiAoY2x1c3RlciA8 IDAgfHwgaW5pdF9vcHBfdGFibGVbY2x1c3Rlcl0pCj4gIAkJCWNvbnRpbnVlOwo+IAo+ICAJCWlm ICh2ZV9pbml0X29wcF90YWJsZShjcHVfZGV2KSkKPiAtLQo+IDIuMzIuMAo+IAoKLS0gCj09PT09 PT09PT09PT09PT09PT09CnwgSSB3b3VsZCBsaWtlIHRvIHwKfCBmaXggdGhlIHdvcmxkLCAgfAp8 IGJ1dCB0aGV5J3JlIG5vdCB8CnwgZ2l2aW5nIG1lIHRoZSAgIHwKIFwgc291cmNlIGNvZGUhICAv CiAgLS0tLS0tLS0tLS0tLS0tCiAgICDCr1xfKOODhClfL8KvCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlz dApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==