Received: by 2002:a05:7412:2a8c:b0:e2:908c:2ebd with SMTP id u12csp211118rdh; Sat, 23 Sep 2023 07:25:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE1Lqdbb7d9qHr4fF6AcOcLWvGtglZX9dOp4c3eyb9VuXeZbrE4qTexoApRMjpz2PpdNQiD X-Received: by 2002:a05:6358:e499:b0:143:85ed:827b with SMTP id by25-20020a056358e49900b0014385ed827bmr3277185rwb.5.1695479155156; Sat, 23 Sep 2023 07:25:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695479155; cv=none; d=google.com; s=arc-20160816; b=mzsnx/imtfyIIyFMq8Q1EP6pb2ApNaJ9LiPmDmw243SSA2RZU592sWXc2uMTEXuNVC G040TykknGmc4QsY8Rpnrv26NbFh+U1WTLxm7SSbLUmGssgZyr4whgztcihlwNN3o8p5 FpGDgYK93CVn71E2YPwnWtJMLlLXFnc3QS6Oxd4IqXxN24KnVquu0S8tboDm25YxGQ4t ACKvyRdzdNHPXzTinD4tGZcr21hIWgByDYjC3Xk/rt4DZpTtohGGKnibeCvnZlUS+bdW ntI1u8yuzaTaPh8ic+uiatR7mDeyMWseme1e4bMD3cBIZ84M32NRMWMKseWo6sf3qeEn q62g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=XAvg21g6nbbw1h+/pTYxIjGaQhk7mPIWAIow3O+el8w=; fh=n3HnzxTMkxHq/oRFrqpnaP3szWQdRt90CDP8of8o2QQ=; b=ZgS2IYr7LNobQCSmyXXdqVDkBpvRDJf77v+qx5wSc5DmANOGkpuz48gw719y30vQNe A/BHnHulh5C48xDkowu6UUi0Ky1afoCKQWr7XREB7QlgI3zKN16pc/B77hDIFdT6JECz luDZODOi06LqvQLE+20xy0uCOJKtsY6yhJ+nPzW6uSXmhQifpfc2sUhFsb6dpNCE054G 3sUZC/NY0acoeLih2aCaUe3eTzuJceS0SrvEHy5hDF5d595a7R7msmQnEwhvuS6j/KTg dSuWAMyR7b/cTmtVDyp28s3yV0ysGR5jgYCJJIzqI69/CXmdYfdfJVW4ZX+4nsP+jJRh +D1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ieee.org header.s=google header.b="DLxn7//6"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=ieee.org Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id a22-20020a63cd56000000b00577516d9a1esi6008502pgj.172.2023.09.23.07.25.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Sep 2023 07:25:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@ieee.org header.s=google header.b="DLxn7//6"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=ieee.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 8A516826101E; Sat, 23 Sep 2023 05:09:32 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231431AbjIWMJb (ORCPT + 99 others); Sat, 23 Sep 2023 08:09:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46172 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231387AbjIWMJa (ORCPT ); Sat, 23 Sep 2023 08:09:30 -0400 Received: from mail-io1-xd36.google.com (mail-io1-xd36.google.com [IPv6:2607:f8b0:4864:20::d36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C59871A5 for ; Sat, 23 Sep 2023 05:09:23 -0700 (PDT) Received: by mail-io1-xd36.google.com with SMTP id ca18e2360f4ac-79f7e7342e3so133091139f.1 for ; Sat, 23 Sep 2023 05:09:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ieee.org; s=google; t=1695470963; x=1696075763; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=XAvg21g6nbbw1h+/pTYxIjGaQhk7mPIWAIow3O+el8w=; b=DLxn7//6yHMxeoMVTrr0qYfohGScaeS52o7/UDk+9PW6VThFl68e7D6/DbtAvdd89d j4tPcCOJdhW7AV9sEMT1a9YVpIa+LScQn5xrcjXeP37Wdw/wFTi6kNGdSm+uvfNLea7h iXPnp5mpMKN8gLjueJl3kO8wLSx9cueoTjppc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695470963; x=1696075763; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=XAvg21g6nbbw1h+/pTYxIjGaQhk7mPIWAIow3O+el8w=; b=VHQci/PfYuB0CqyID0nNHE4pky0dd+pXnY3H0pV+nYSpcx/7GVxOmXJj0EI3V2Wl9N j0wUL0mk95k22g9Rlmv90OpF9WScni5P4oQRYJA5SmzYVmWUwubpE93b4MqzT7taSUDK 0p1G72XTtwROn7566itiFJNOv+oFJqqPjCht9SJwfueDeoEjSTebHBYbRRwSGuzmjz/r sHUIh2I3GayB9UVJEy3ti+b/dYHYicP1FF77uf5CWQVFgH+Bg+1MUVl5mSwJu/G+DDVE tqrT3huYR18CNF4bbw08hi9iFLrMpcY+sy2ZCFWHb9lsf7nOYQg3K/ww/IubUWVmJodx Hidg== X-Gm-Message-State: AOJu0YxcbvuIqKwwamfeClQF4FqzKX6KwN3tACsmj2IeRq2kATzmx1Wv ZaexmJjkBG1aecvJ7uMCcCTe9w== X-Received: by 2002:a5e:8d0c:0:b0:790:f866:d71b with SMTP id m12-20020a5e8d0c000000b00790f866d71bmr2106815ioj.13.1695470963122; Sat, 23 Sep 2023 05:09:23 -0700 (PDT) Received: from [10.211.55.3] (c-98-61-227-136.hsd1.mn.comcast.net. [98.61.227.136]) by smtp.googlemail.com with ESMTPSA id ft16-20020a056638661000b0043a21abd491sm1610905jab.120.2023.09.23.05.09.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 23 Sep 2023 05:09:21 -0700 (PDT) Message-ID: <6f52f36c-be16-2427-c19f-0e8b3dd2ff5f@ieee.org> Date: Sat, 23 Sep 2023 07:09:19 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH 08/14] net: ipa: Annotate struct ipa_power with __counted_by Content-Language: en-US To: Kees Cook , Jakub Kicinski Cc: Alex Elder , "David S. Miller" , Eric Dumazet , Paolo Abeni , netdev@vger.kernel.org, Jamal Hadi Salim , David Ahern , Martin KaFai Lau , "Gustavo A. R. Silva" , Alexei Starovoitov , Yisen Zhuang , Salil Mehta , Claudiu Manoil , Vladimir Oltean , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Long Li , Ajay Sharma , Pravin B Shelar , Shaokun Zhang , Cong Wang , Jiri Pirko , Nathan Chancellor , Nick Desaulniers , Tom Rix , Simon Horman , linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-rdma@vger.kernel.org, dev@openvswitch.org, linux-parisc@vger.kernel.org, llvm@lists.linux.dev, linux-hardening@vger.kernel.org References: <20230922172449.work.906-kees@kernel.org> <20230922172858.3822653-8-keescook@chromium.org> From: Alex Elder In-Reply-To: <20230922172858.3822653-8-keescook@chromium.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Sat, 23 Sep 2023 05:09:32 -0700 (PDT) X-Spam-Level: * On 9/22/23 12:28 PM, Kees Cook wrote: > Prepare for the coming implementation by GCC and Clang of the __counted_by > attribute. Flexible array members annotated with __counted_by can have > their accesses bounds-checked at run-time checking via CONFIG_UBSAN_BOUNDS > (for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family > functions). > > As found with Coccinelle[1], add __counted_by for struct ipa_power. Looks good, thanks. Reviewed-by: Alex Elder Note that there is some interaction between struct ipa_power_data and struct ipa_power (the former is used to initialize the latter). Both of these contain flexible arrays counted by another field in the structure. It seems possible that the way these are initialized might need slight modification to allow the compiler to do its enforcement; if that's the case, please reach out to me. -Alex > [1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci > > Cc: Alex Elder > Cc: "David S. Miller" > Cc: Eric Dumazet > Cc: Jakub Kicinski > Cc: Paolo Abeni > Cc: netdev@vger.kernel.org > Signed-off-by: Kees Cook > --- > drivers/net/ipa/ipa_power.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ipa/ipa_power.c b/drivers/net/ipa/ipa_power.c > index 0eaa7a7f3343..e223886123ce 100644 > --- a/drivers/net/ipa/ipa_power.c > +++ b/drivers/net/ipa/ipa_power.c > @@ -67,7 +67,7 @@ struct ipa_power { > spinlock_t spinlock; /* used with STOPPED/STARTED power flags */ > DECLARE_BITMAP(flags, IPA_POWER_FLAG_COUNT); > u32 interconnect_count; > - struct icc_bulk_data interconnect[]; > + struct icc_bulk_data interconnect[] __counted_by(interconnect_count); > }; > > /* Initialize interconnects required for IPA operation */