From patchwork Sat Sep 5 18:38:08 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aamir Ahmed X-Patchwork-Id: 3199 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114]) by mxe881.netcup.net (Postfix) with ESMTPS id C7F491C02D2 for ; Sat, 5 Sep 2026 20:42:39 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=HOTMAIL.CO.UK; spf=pass (sender IP is 172.105.105.114) smtp.mailfrom=linux-sunxi+bounces-25627-noreply=patchwork.local@lists.linux.dev smtp.helo=tor.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.105.105.114 as permitted sender) client-ip=172.105.105.114; envelope-from=linux-sunxi+bounces-25627-noreply=patchwork.local@lists.linux.dev; helo=tor.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id 784AF2C192 for ; Sat, 5 Sep 2026 18:40:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BF50C37EFF1; Sat, 5 Sep 2026 18:40:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=HOTMAIL.CO.UK header.i=@HOTMAIL.CO.UK header.b="LfYRYWka" X-Original-To: linux-sunxi@lists.linux.dev Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazolkn19012008.outbound.protection.outlook.com [52.103.32.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ACBB24EC661 for ; Sat, 5 Sep 2026 18:40:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.32.8 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788633616; cv=fail; b=Y5orn8omwYFIqaP1zOM1/t9iEgA7NhHUAAYdbwbOSINNmXU8uTI9QzTY5cYba7sGpyW9iFYqYDDkbBO2qXrIw+XO3Rgxt7sr1N2l7ujpA0/ZZswB4W56a6p96AcbJU6iqPYEhTDcLR56bMOiKze7d1g79/SzY35qx3Yu25XSypg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788633616; c=relaxed/simple; bh=xa3gCqAQCSre/4B/7A8NetYCa6fiUCM9EYA5fXEAQAs=; h=From:To:Cc:Subject:Date:Message-ID:Content-Type:MIME-Version; b=hZ7X2z9M4aG3qIabs3ffnKcSN0hHMOzrdXO1xXgybQxYtywKEw2CC6+Oi0QBHKRmBsiG8DAlGtbCycS1zmMNfZnTAgLdaDrdWog1YAK5SiDUyHjGnXeR5Jb/ATFs3TjL+FO49b/roqTg5WM0oqpSOctvqwzRPZ1QgDeY1SR5Gd8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=hotmail.co.uk; spf=pass smtp.mailfrom=hotmail.co.uk; dkim=pass (2048-bit key) header.d=HOTMAIL.CO.UK header.i=@HOTMAIL.CO.UK header.b=LfYRYWka; arc=fail smtp.client-ip=52.103.32.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=hotmail.co.uk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hotmail.co.uk ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=O9j54hGDGTOWIEiGNENdEeDg0FJ7f7A4Rs0nqTnYhBqhhtDxT57loybeJoQPuvS19ENQov3gTtvT3rCRk/kCfc2F+VIfDhfR+BKC9y/Nf+thPK4oP1HHERw55YR92WK8eM50+QKRZ9sfoDOPdCD6mrBHWok+QJ9mamU0FLKNthS52CneVTptz8mB9aDQ6I7npO4IL7k++aW4H3/0611R8PkZtx2044rY1I81d+Ng7gk2YYFzMs9ikZXhqpd1iadaghSNtaTDrSKEPhEMXLkG4lTPmOiYwO3FW1Z4FFTsZMU1VC+zBO2YMkbSXCzorWhDBGlZqzqKDZrIUIO2ay5elA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=aOC3xEnL0KZ2icP/yx/4hn7Iu+13puDSL4RJijeNQIg=; b=BD6ku67kLgEp7ejTMXjdSnqA6fm9XwbzVQdSf3SMhxJ4SMWYXkRis64wj1YuDWHeJVt5oeKLHQfhvqhE0a2YQhNEDbE8VDsCs1GoVzdoeVhSKc7+g0qMMMkcWk+bj1Kc/XNCmPC0kAvBVDaVEywO/i6S3L/tRDsO6xapvHIhDSieln29y/+hV5YeLOjdyABJUW7wHLDlE4QuvDeaNhCQemX9MylBEY7aUtL0Us+tZOrCtGXKr51gKvE20SKFQicX4C0iwc8zmQ8GyNluOjoL0hUNnhg0EiNtfwPFJcRYFnLNBWRDEjGIqmQXi+IHdGaYhjwnaL6EbUjjf1PHFEdeCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=HOTMAIL.CO.UK; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aOC3xEnL0KZ2icP/yx/4hn7Iu+13puDSL4RJijeNQIg=; b=LfYRYWkaoDUAlgolTc5XOGcoQ66zZZ53deMmGVbsfR5s8w/3gjlxgpdJoBc57+alnKTv4Lak9Kj7T5Qtx3K5SoivxHArRTG7zNE6GLb8kUTEdFI4a8SwgsHNu5efNRgyJnIU6vYNRuw1eYz0TfxDHOgYTTEgg8n0/CVbpd3Wx7FrcCyOZnKyOuWutXo5j+yQqj5SJNz0EOlqt1Agj8NYv98VUzIXet6FFCoWeePs0ZWUXWxb9NrjjNb+owcklQYa84nrPy+tDZCwZuuSPnipEcJQ5GzfbkE/YrVhDdzbYYf6Ku1/n0jTBco4wrlqWTedfW0+m4nzCzNal9drsAyHvQ== Received: from AS8P251MB0001.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:344::22) by GV2PPF5543EE396.EURP251.PROD.OUTLOOK.COM (2603:10a6:158:401::b58) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.13; Sat, 5 Sep 2026 18:40:11 +0000 Received: from AS8P251MB0001.EURP251.PROD.OUTLOOK.COM ([fe80::2952:d4d0:4ba:8352]) by AS8P251MB0001.EURP251.PROD.OUTLOOK.COM ([fe80::2952:d4d0:4ba:8352%6]) with mapi id 15.21.0382.012; Sat, 5 Sep 2026 18:40:11 +0000 From: Aamir Ahmed To: Alexandre Belloni Cc: linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org, Chen-Yu Tsai , linux-sunxi@lists.linux.dev, Kees Cook , linux-hardening@vger.kernel.org, Aamir Ahmed , stable@vger.kernel.org Subject: [PATCH] rtc: ac100: Assign .num before accessing .hws Date: Sat, 5 Sep 2026 19:38:08 +0100 Message-ID: X-Mailer: git-send-email 2.55.0 X-ClientProxiedBy: LO4P123CA0520.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:272::16) To AS8P251MB0001.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:344::22) X-Microsoft-Original-Message-ID: <20260905183808.4100-1-elb12345@hotmail.co.uk> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P251MB0001:EE_|GV2PPF5543EE396:EE_ X-MS-Office365-Filtering-Correlation-Id: a73dead2-7c5c-47fb-e416-08df0b7d1dd8 X-Microsoft-Antispam: BCL:0;ARA:14566002|8060799015|5062599005|19110799012|41001999006|5072599009|25010399006|4140399003|23021999003|37011999003|22121099003|25031999004|24021099003|39105399006|15080799012|26104999009|19061999003|3412199025|440099028|40105399003|2607281247196008|1710799026; X-Microsoft-Antispam-Message-Info: 0E2xGghawMFxBTyDvGksLd3vsrDtCrpbAe9+8PWLruViovfIfh022rhOogMdummx3z5bI214Cn9MuDNKZNcHSxVkYraD+JySR+N+JXUFOPVFMQOkmfA05pDz9azcQfoExLRC1VVvYWcPTPowayTBn85meCSLXa+YbmnG5V0V5HqQoguRn+eBsi0lTRicw4fh0iHB6cJbSUudKcmZf+BdJjLTO0Wc3o6BcU/wjsBFqz7dwx2bDadetOZ4WPLJ8ZpKghxRoqt3ks2ys0ezNOLwU9yYDX/SkRN6OsvBDvdSDPcrBpIs1szb7MIYA4xt/HASUQ/XHoXbPbuz0YclFwKa+f86swhDbvk7yq7M2KVjVISN59RPJJQVa3Oo/MtHtmWUawXPXWcpdPWDvFi4i9IiPdzVqi9TgApjd8jwTpuOU95FJs/Ej8Mi9tnGZc1fWrqAwHZOWGiXF6QnkpmK5huQKtpLkAU35eXI48qs4lrlW6SIkD3wtwPrH+ICp3uRNS6rv62l6KemLspMchJ1qUsh/z25dh4J6d2l5ow4VBPU8cn+NF1nGmpWphUadLs5FQCjYXQ9p1hbRzKrSb07OKgdMCz4sCR9vKz4rk1MJEK78OhuPzjtebLd0T+2709J8F4daIUmbMLDc8RwV7NNdZ892mzCTVDAt1mwKLscqMsI9yoQywIeVz7PMI7F/AAzZe2Qas5FA6LSHrR9u+7IRg/ogGhS4IIW/gglWtcOm9WkluiU8NuRV5gPjIkrlKyHxMi5SObGAyInkrPUn52N1mSTQFkifl8UakWQ1jiHa0eJpLCt48Z3vnII+zxY5ctd3+rWc5gVIcAee3onMJwgpKsdQyhNTkSokZcPE2aZ/OMBjLNcqmhNqvdlnc2EqEHMhfHGdDp1Yuwi6pP2oUqV8Edh7SC3nZ8sovqOxkH1o4FVBg3EocTf1jkJI3gIJdG03jvqxwe0fxuNkzGjPPnO/PSBAveGCaBDMsQvbXL8bPmd2nR/+jyHLqLvRf+lBNkq/EYiwRWx/TyYpPwxrdaW0LgsJYQJV5JIs9ceIa7ZLL1OKgg7AGTd6jXk+4FcaRrc6R46ZB5z78WJGIdprG89SXkRzgLcO2mzOImd1KHgMildSRpYkf0EUvhLR/UbZeJE4Kk+ceOnElyzDA9PkGsMnQ41RQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +qkwGmXeogU5vmmqCNtjoOPLlSRRzKhQ+egG4q1amhlw8OLGkXS22JRvki8XkT7iGvyLqa05YBywvRDbGsMu0iDgI2wZb8qkAB6wJiuGa3TMSmL47Ak43Ui1NTdV2+KoLhkyfhG1dgypByxweAZxSjK59Aa6rYw8fWZx9uACyyxoHx/kr0bPIdoCm0HqmMo7d54UAX3cC7H0IsuMUxgTKaNAwlnzsoFSOs/RbzWrsSG3flu+e+yR/xsxmmmX+/xgKeU7MveAhLvc5Phax1vBilclt2yVIMbYSI+fdk6KgghmzQ51uB2TNHNtnbwtEWaxKUsGej0E42bZDi6s1bY2SUwhvzR2vEmU2XWb60EVHyIRZ48IzFNNLWFLd8Dm+22VneSpvxqg1KAtSlBsNpe1PyHN2/15eoQY/Xns+q0zL87xAbj6q1MNZ8+ldwEzHgy1cbpxeMSJCg6LifAINy5odUyYIaIMOKs4bwYUKQllyp6XDhmlx6Kw1y0q7bXzZYG80ytOdVifH/9m8GDF6pxHBOKou7xpBg/CVXGsuInJwgOSGkXV6DuLlGBYQ3UFCa7ZyZ270jHCev21Z27KFKTG0hR9wxEfYOXwweeZplGKwvr4TBPYaqnuZ7RylGAYFbn+a382eE0aI9cb9j4OxrxzvjS0CTfIXRSJ9CCivlMsaLXCu98rRRNsu4zg+iS2Wfj178HtrUpQ3Y2Pg9YeIMZGpKIw7T6uplG+/mqER3xCsBzfHwNAY4Z2QUFjyCc1B2B1atTJ2w8aTgp/G2OhJcxPBOzqXVF36DSJepyENgFBj3/Lkks92yW+CCg/1nAb64fh1Mn1zdwjTGPXqi8GB8vnDDDQ/waQrUh12LMT0dkuNgHt3DVymYbicjUcC4MATOcPNQVz3Kuj7gBalEIOTJPL7xwFx/L5BFOT4uX9gBvN6MuCprFIQV0GNh87pLAISJG+iksZwjp9mjlrRk+98b175vIYwqmjenJ4Gt8d5A2otZbVoNr9QdgUB/1OExcCX+ei52abdVOVqV1uLFB6vY47a611do7LwOopwz47b3HFBXHI9ItuJaOY/DP2Lz4U0MpDTqxBHjaaYDdHS3AFAJkHk+adTWGpodqetbKrJvxiaytRDGB80/m7qpKjqaJXwIrU2Qkl785COkqAsrFlDqcX3W0ZUAo6h7Wr45taiQ+onrz8fO5nocblT2i+CZZzhKOs+YgSbx3LzDXiZAneTXDw+EStHHkhP9AbkPx4x/1qjFY927jK9z4VQ358o4zoVBBptSiQucSooHwrZ+y9wD8ztyUB/YQH+4SVNYnvVaNqLzI3jxqs7pSFahDxRyC4VbYhPoqYsMP2UzcjDqnzK+YWRToB/3RSq8R6TohtA7Z6hk7PKAhcrIp2Ahel5q7k9vsmadNnMb38sK0oBTiREEPCwgUNyOoNE9BsmQif/+71zrOMcA3byDDXRrohUdiwtnAT X-OriginatorOrg: sct-15-20-9412-3-msonline-outlook-fe3f5.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: a73dead2-7c5c-47fb-e416-08df0b7d1dd8 X-MS-Exchange-CrossTenant-AuthSource: AS8P251MB0001.EURP251.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Sep 2026 18:40:11.4815 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PPF5543EE396 X-Rspamd-Server: rspamd-worker-8404 X-Spamd-Result: default: False [-2.16 / 15.00]; BAYES_HAM(-5.50)[100.00%]; RBL_SENDERSCORE(2.00)[172.105.105.114:from]; ARC_REJECT(1.00)[cv is fail on i=2]; R_MISSING_CHARSET(0.50)[]; MAILLIST(-0.15)[generic]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; R_DKIM_ALLOW(0.00)[HOTMAIL.CO.UK:s=selector1]; FROM_HAS_DN(0.00)[]; PRECEDENCE_BULK(0.00)[]; TO_DN_SOME(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[tor.lore.kernel.org:rdns,tor.lore.kernel.org:helo,hotmail.co.uk:email,HOTMAIL.CO.UK:dkim]; RCVD_COUNT_FIVE(0.00)[6]; FROM_NEQ_ENVFROM(0.00)[elb12345@hotmail.co.uk,linux-sunxi@lists.linux.dev]; TAGGED_FROM(0.00)[bounces-25627-noreply=patchwork.local]; ASN(0.00)[asn:63949, ipnet:172.105.96.0/20, country:SG]; DKIM_TRACE(0.00)[HOTMAIL.CO.UK:+]; R_SPF_ALLOW(0.00)[+ip4:172.105.105.114]; FREEMAIL_FROM(0.00)[hotmail.co.uk]; FREEMAIL_CC(0.00)[vger.kernel.org,kernel.org,lists.linux.dev,hotmail.co.uk]; DMARC_POLICY_ALLOW(0.00)[hotmail.co.uk,none]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCPT_COUNT_SEVEN(0.00)[9]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FORGED_SENDER_MAILLIST(0.00)[] X-Rspamd-Queue-Id: C7F491C02D2 X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Commit f316cdff8d67 ("clk: Annotate struct clk_hw_onecell_data with __counted_by") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in ac100_rtc_register_clks() due to .num being assigned only after every clkout clock has been stored in .hws[]. With CONFIG_UBSAN_BOUNDS and a compiler that implements __counted_by (GCC 15.1+ or Clang 20.1+), this triggers an array-index-out-of-bounds report during probe, and with CONFIG_UBSAN_TRAP the first store traps. Initialize .num with AC100_CLKOUT_NUM, the number of elements .hws[] was allocated with, right after the allocation. That is the value the loop counter ends up at on the success path anyway, so the provider's behaviour is unchanged. Cc: stable@vger.kernel.org Fixes: f316cdff8d67 ("clk: Annotate struct clk_hw_onecell_data with __counted_by") Assisted-by: LLM Signed-off-by: Aamir Ahmed --- Found while auditing the remaining clk_hw_onecell_data users that assign .num only after touching .hws[], following the fixes already merged for clk-s2mps11 (3e14c7207a97), exynos-clkout (cf33f0b7df13) and clk-raspberrypi (6dc445c19050). The audit, the fix and this changelog were drafted with an LLM assistant and reviewed by hand. Compile-tested only (W=1, no warnings) on x86_64 with GCC 13.3, with CONFIG_RTC_DRV_AC100=m forced on the make command line because the driver has no COMPILE_TEST option. GCC 13.3 does not implement __counted_by (CC_HAS_COUNTED_BY needs GCC 15.1+ or Clang 20.1+), so the build only confirms that the change compiles; the sanitizer path was not exercised. I do not have the hardware, so this is not runtime-tested and no UBSAN report was captured. Based on v7.3-rc1. drivers/rtc/rtc-ac100.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) base-commit: 654ae5d73c05bd2943d65636ce6cd0aa46e62f18 diff --git a/drivers/rtc/rtc-ac100.c b/drivers/rtc/rtc-ac100.c index bba7115ff3a..a2f465438fd 100644 --- a/drivers/rtc/rtc-ac100.c +++ b/drivers/rtc/rtc-ac100.c @@ -317,6 +317,8 @@ static int ac100_rtc_register_clks(struct ac100_rtc_dev *chip) if (!chip->clk_data) return -ENOMEM; + chip->clk_data->num = AC100_CLKOUT_NUM; + chip->rtc_32k_clk = clk_hw_register_fixed_rate(chip->dev, AC100_RTC_32K_NAME, NULL, 0, @@ -360,7 +362,6 @@ static int ac100_rtc_register_clks(struct ac100_rtc_dev *chip) chip->clk_data->hws[i] = &clk->hw; } - chip->clk_data->num = i; ret = of_clk_add_hw_provider(np, of_clk_hw_onecell_get, chip->clk_data); if (ret) goto err_unregister_rtc_32k;