From patchwork Fri Sep 22 17:53:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kees Cook X-Patchwork-Id: 143632 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp5832088vqi; Fri, 22 Sep 2023 12:57:51 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH8STMA6AfxHEqR68tvmgbFEvXr8IBN7CnfeNX877/MzE+pptLhMKarPDWsBj/Rza5je8dW X-Received: by 2002:a05:6808:1988:b0:3ae:12f6:ac51 with SMTP id bj8-20020a056808198800b003ae12f6ac51mr715058oib.41.1695412670873; Fri, 22 Sep 2023 12:57:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695412670; cv=none; d=google.com; s=arc-20160816; b=azeyx0jEqojCId0X9bjL2i2npyt76jAr3YBuStPq2Ox0TsbN8uwd5TUN5UWohs4Sry TfdSgaFxHCdD11Fd5eIAW071MhaCIAXMesuE5Guir3LAwIRb6hc/QR9jLjRUFwuxLgAf Xijuhf8mzDRnakqGerDeXFRgfQussBkt567GGVrFPRVrXSSuSlyJWHmouuNkl3S+OKH/ 2Fui5rUb39C+IWzmqmFXiqe0+8K7WbCmCVQY9rk8fpHv6jQTLXj6CaMpmgjBQwRESbVB czM4S2uZLiL6X/pYb9GCFa+p1WpZWMjmcGXi6sRDi3eWEFDuBvK5mowvJeOgQ9xhOIL7 qWsw== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=j1DuAf/+ZW6v7oQmMqiRSnBOde6Jc28Je383H2K4ozI=; fh=3Jach10R2pYL8b5rMgPd9CnJH38MPc1BF+EATgepD/4=; b=sRlFqHsIlIbbzngEhT9Kp2YQlaumkyqE8LTt4UZfadaSzqH6NHNQZ67BYKRbhtK5CU XVhaRJrWreDPL2MSaRAbAL1sGZ17f5rRCVKJeI59xo4PB1yjtlvcF8glIY1sqIkRxhqL 4k+5OJ3RmPmlkLukxjreJX3HZqqpYwJpyRQ7mAKDW7iGq0xHl1SA/VoiBf9HU4mr9+rG bkra6SZxg3mXQgIXa/scJs7bTJG+z6d0DgygfnPnV0hKRr5J8+5KuNPYGYtZQkvDKW6L emgBscLQOpfPnuy4ADj+iayqNjTq7h6EiYYq/56eGe9quqTkUUAZNMHHAqJbRF31y+ne OQWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=eFZseXVf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id a70-20020a639049000000b00573ff094485si4545975pge.250.2023.09.22.12.57.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Sep 2023 12:57:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=eFZseXVf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id E99118030A8A; Fri, 22 Sep 2023 10:57:34 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233845AbjIVR5d (ORCPT + 28 others); Fri, 22 Sep 2023 13:57:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233962AbjIVR5U (ORCPT ); Fri, 22 Sep 2023 13:57:20 -0400 Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com [IPv6:2607:f8b0:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A06B31735 for ; Fri, 22 Sep 2023 10:53:33 -0700 (PDT) Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-690ba63891dso2030257b3a.2 for ; Fri, 22 Sep 2023 10:53:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1695405213; x=1696010013; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=j1DuAf/+ZW6v7oQmMqiRSnBOde6Jc28Je383H2K4ozI=; b=eFZseXVf3N54HDMPfBZVTq8gxWB33isNnuzfv0E4vdm6Bgy9ZXBdWX7Df5t37kQWVl f9xEpdadh/mbflQhfemsXRjKD7WuKpeGqS5ttW0wB6c/SP4kC504N9Yy+Gxhi9FYJqnD IwW8y+vf6iVyDLUA2klcdt+JGTqP1ZanCXJoM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695405213; x=1696010013; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=j1DuAf/+ZW6v7oQmMqiRSnBOde6Jc28Je383H2K4ozI=; b=fcjCHvCTysSZKxfZHaFxHrOcSAC0MsGGmnQwwt2H4/RZcy2SvVPJ+7fKNNcWhMpiA7 ZSmxftBLVhKu6p3X2qHLFHyFe7jXYl4Ak3YNuw7t+0QUl64t6G8LfzVBdN66joBF90Dl Q79NqyKJxwb3uxqkhvO5jvix25JPgE4Lqb2Kg0lljZfEO4RBDkELhDWuTNohkPSOuK88 pOjUuJFNAC2Y0c/39D/h1fBR+iKp3O5YJDDNRu3Rh4F8f8B7XelEC1/7H94fuSsD+1LV rS5+LGcj9eLkaukxvpCFsNe7KLgwXghqvfxEMJmp7OHZomK+ZY9ldvAcB5DXbiXKj+Xy g/cQ== X-Gm-Message-State: AOJu0Yw7A40B8OLRu58uwXPIj8rifiIY3g8X9niLewS/oUo1mvu/t3q5 t4upAw72hkD/43z+go0NoaWmVA== X-Received: by 2002:a05:6a00:1ac9:b0:690:c1e5:937e with SMTP id f9-20020a056a001ac900b00690c1e5937emr140303pfv.13.1695405212835; Fri, 22 Sep 2023 10:53:32 -0700 (PDT) Received: from www.outflux.net (198-0-35-241-static.hfc.comcastbusiness.net. [198.0.35.241]) by smtp.gmail.com with ESMTPSA id x25-20020a62fb19000000b006889081281bsm3434175pfm.138.2023.09.22.10.53.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Sep 2023 10:53:32 -0700 (PDT) From: Kees Cook To: Support Opensource Cc: Kees Cook , Liam Girdwood , Mark Brown , Nathan Chancellor , Nick Desaulniers , Tom Rix , linux-kernel@vger.kernel.org, llvm@lists.linux.dev, linux-hardening@vger.kernel.org Subject: [PATCH] regulator: da9062: Annotate struct da9062_regulators with __counted_by Date: Fri, 22 Sep 2023 10:53:31 -0700 Message-Id: <20230922175330.work.066-kees@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1309; i=keescook@chromium.org; h=from:subject:message-id; bh=jyjltd9IGcWvOg910fwXOz2T1bioU2VSJx7SDglJoh4=; b=owEBbQKS/ZANAwAKAYly9N/cbcAmAcsmYgBlDdSbKq2clcu9Od4D1cu0Gb37wvavMtZYXO0ui +p2R9xoGOaJAjMEAAEKAB0WIQSlw/aPIp3WD3I+bhOJcvTf3G3AJgUCZQ3UmwAKCRCJcvTf3G3A Jhe6D/0T4QS0EkQ2zac2mAd9FiPbgfHmVh7ksYNRfnLOFwWHQ2OKYTrlpZ4DlKKed6BR/5EGsHM PLvNIlPwb6qlX5en77saxlwegJJdG6/Zu0Z28nQ9q2jQooHTLdjGFIAkohpGXx7M6TRqWWaJbKM LLYWoOv/xnvAih0XvHN3aSbp/Sw7x8P9GmDOpK1S33ArIsPL3qh6DiYppwS7PAOl54GHR1w6dJs 6LfowXTPErRdxa3jYFmyba0DB3T5C42AwH55S3NI14xWiRTT3gt4G43i3QV071LUgzWdSwIJlPB sH8pVJ2gQIenwfsxWs5lcjlxGYO+znS0K+DCQzFjJPBSLXkJXfBOc+FKRE2tb8FsubbGJGGlThc zEomQvNHUJtMW1MT5XNMF2+M9i1LE4ljJh8n/UKr01gCynJCW0wULsrCTc8xdq4wlVTUK0tYaos 7EyN4lSEzHG9OCqm2vZ6KCKPkBiUZv/WI0dWvn4GEZPwDhc8ZiERFJlfgiEyW+Pd2XVNmCFOGlS XbOqvWlu9gaL7C1niB1AZmyE2LU39p93sqhuCQrOYWEJRk86PluoJ7cmk1vpi4OPJJo1oQZ8Mik ZEoaKsT8ewvGg01yU7Cdf5vF4Z8Cfp3xS1JGFZc8UCpslNWVvCDqvpTajtGEuxA7B4wCJwz37Gb uAmi8qe frPhTiOA== X-Developer-Key: i=keescook@chromium.org; a=openpgp; fpr=A5C3F68F229DD60F723E6E138972F4DFDC6DC026 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (howler.vger.email [0.0.0.0]); Fri, 22 Sep 2023 10:57:35 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777769036610207823 X-GMAIL-MSGID: 1777769036610207823 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 da9062_regulators. [1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci Cc: Support Opensource Cc: Liam Girdwood Cc: Mark Brown Signed-off-by: Kees Cook Reviewed-by: Gustavo A. R. Silva --- drivers/regulator/da9062-regulator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/regulator/da9062-regulator.c b/drivers/regulator/da9062-regulator.c index 1d354db0c1bd..e0c96f10e570 100644 --- a/drivers/regulator/da9062-regulator.c +++ b/drivers/regulator/da9062-regulator.c @@ -73,7 +73,7 @@ struct da9062_regulators { int irq_ldo_lim; unsigned n_regulators; /* Array size to be defined during init. Keep at end. */ - struct da9062_regulator regulator[]; + struct da9062_regulator regulator[] __counted_by(n_regulators); }; /* Regulator operations */