From nobody Wed Dec 17 04:20:10 2025 Received: from pv50p00im-ztdg10012101.me.com (pv50p00im-ztdg10012101.me.com [17.58.6.49]) (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 B00EB18870C for ; Tue, 14 Jan 2025 15:23:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=17.58.6.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736868214; cv=none; b=T04Z0/IcFdIjcvVdkThd92TZd0PGmwxfpK+VfOGmk0+ejYhMra+LC4ciT8UCfuqWMPbNgycYA+UGYCexd+14ho0alGeObIMx9/gbVthzFe6D4NXQBEQ/ofPpntNVWYRo949ld56BhPYpza9paIKTwz66P+F5DZWZ7VBWhx2oDFQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736868214; c=relaxed/simple; bh=gz5s1QtsfKgeehMSFPhvpgRfk+bXZQWZDCzTvwFrmu4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gqCd0E6yVd9nMMRvERp9xSHdA/8JLWovJs9h2DnWcT4S8Oy0yCMC76NHTFrooQtNyG4ssJ0LidwUdY3Kzt2H23EXtHJ0dNrwNM6li6nySAwaD3gQTHLFVjKRSAtegd9IDvHs7DLy16jLjPjPcLHDynihliNy2oHz9eNwnDZ3kY0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=eIDxP5dU; arc=none smtp.client-ip=17.58.6.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="eIDxP5dU" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; t=1736868212; bh=p5Ba7m9NpuPunhmxtnF03uYrWxzvSd/IuBBmZiBExS4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To: x-icloud-hme; b=eIDxP5dUnhHhh6AmThRumUQcWs7WYDW9o/8PQr2WArQ2APwNMBJ2iRxb6y+grA78D M7tnrKYhiXGT71H+CLfR0Tyd6Nlxq2l/fDCqOQ4WAlXC/ZfHwSxqJ0GFlRrzQDeNWH 8HhOZW0f7hzzHD3baclUwRNUMl1s+4xBohzB+DDZtujFvnUwXNN6jG+w6qk5bIcSvZ Q4QZwVCsqyanXTwx3OA/7xrOIYnmRrDrRTsviIHhDUrVLz5FN1Qt+UYLBhksaUCiNQ jzDOg0UmjB+0byiaP1o1P3JGIe9OCq25qxgfFzgEi8ZVjI5U7iAEsc6tWVoMOyxeel lUW+Di5zx2c4w== Received: from [192.168.1.26] (pv50p00im-dlb-asmtp-mailmevip.me.com [17.56.9.10]) by pv50p00im-ztdg10012101.me.com (Postfix) with ESMTPSA id 0648B740161; Tue, 14 Jan 2025 15:23:28 +0000 (UTC) From: Zijun Hu Date: Tue, 14 Jan 2025 23:23:03 +0800 Subject: [PATCH v5 1/3] of: Do not expose of_alias_scan() and correct its comments Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250114-of_core_fix-v5-1-b8bafd00a86f@quicinc.com> References: <20250114-of_core_fix-v5-0-b8bafd00a86f@quicinc.com> In-Reply-To: <20250114-of_core_fix-v5-0-b8bafd00a86f@quicinc.com> To: Rob Herring , Saravana Kannan , Oreoluwa Babatunde Cc: Zijun Hu , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: 8iJy_wW0rr9MzQXGwblMF2ohORT0Dliz X-Proofpoint-GUID: 8iJy_wW0rr9MzQXGwblMF2ohORT0Dliz X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-14_05,2025-01-13_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 phishscore=0 adultscore=0 clxscore=1015 malwarescore=0 suspectscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2308100000 definitions=main-2501140121 X-Apple-Remote-Links: v=1;h=KCk=;charset=UTF-8 From: Zijun Hu of_alias_scan() has no external callers and returns void. Do not expose it and delete return value descriptions in its comments. Signed-off-by: Zijun Hu --- drivers/of/base.c | 3 +-- drivers/of/of_private.h | 2 ++ drivers/of/pdt.c | 2 ++ include/linux/of.h | 1 - 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/of/base.c b/drivers/of/base.c index 969b99838655534915882abe358814d505c6f748..f4ab4086b80f62c4d9ce428cdde= 042d0ed4febe2 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -1812,8 +1812,7 @@ static void of_alias_add(struct alias_prop *ap, struc= t device_node *np, * for storing the resulting tree * * The function scans all the properties of the 'aliases' node and populat= es - * the global lookup table with the properties. It returns the - * number of alias properties found, or an error code in case of failure. + * the global lookup table with the properties. */ void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align)) { diff --git a/drivers/of/of_private.h b/drivers/of/of_private.h index 58819222279a5319c5f6be30d156b24f920c5481..f3e1193c8ded4899f39677a76da= 073e2266a1b9a 100644 --- a/drivers/of/of_private.h +++ b/drivers/of/of_private.h @@ -119,6 +119,8 @@ extern void *__unflatten_device_tree(const void *blob, void *(*dt_alloc)(u64 size, u64 align), bool detached); =20 +void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align)); + /** * General utilities for working with live trees. * diff --git a/drivers/of/pdt.c b/drivers/of/pdt.c index 7eda43c66c916198b1c2d8fc5043fcb1edaede7a..cb0cb374b21ff89323e11f34bd7= 67b183e7a401e 100644 --- a/drivers/of/pdt.c +++ b/drivers/of/pdt.c @@ -19,6 +19,8 @@ #include #include =20 +#include "of_private.h" + static struct of_pdt_ops *of_pdt_prom_ops __initdata; =20 #if defined(CONFIG_SPARC) diff --git a/include/linux/of.h b/include/linux/of.h index 0cdd58ff0a4190724309ba1eddbac51b188b6136..eaf0e2a2b75cbe4769a77f68965= 298c84d57e62c 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -398,7 +398,6 @@ extern int of_phandle_iterator_args(struct of_phandle_i= terator *it, uint32_t *args, int size); =20 -extern void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align)); extern int of_alias_get_id(const struct device_node *np, const char *stem); extern int of_alias_get_highest_id(const char *stem); =20 --=20 2.34.1 From nobody Wed Dec 17 04:20:10 2025 Received: from pv50p00im-ztdg10012101.me.com (pv50p00im-ztdg10012101.me.com [17.58.6.49]) (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 1536C194A74 for ; Tue, 14 Jan 2025 15:23:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=17.58.6.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736868218; cv=none; b=mOY0nqeSMUJjZd7VWhPuZ2Xzg6bS9466GoQ5dvHMvs93OKjPAcZiQIjCRO8215SUWAX339vvKG5YKl6wG40Xkllc5ZrhZl2UjLEHodwpVrJOhQE90AIEhMpatAKqFbcypViY8EHGPX4I24EXJN4OPRGyVIDCiTL3oseofgAaMvA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736868218; c=relaxed/simple; bh=lGKKT65YT/J1OZuDW42KsMza+DKElVbVsU+/tN1zlqg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=COG8t7hGDytHyEq36z0nc9rlIyvJIly0rhKr4Q+SkMC0efBYO+C3ibctYKpw9liLth9gtXnO9tL0INuNBAkmBfOOtod03m13Y7vXlID+vUJnQL+vx9uZ7qzaSdEiaqGO8x+JNq0fQtJZt4IZrCTmNvJv1c+5u4Bw+gE2yEPW3U0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=OdfSXwu/; arc=none smtp.client-ip=17.58.6.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="OdfSXwu/" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; t=1736868216; bh=PyfXevImhm43tCLlxWNyaBzWFsofOvKOTxaHlR/Qr5c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To: x-icloud-hme; b=OdfSXwu/URj2CfXXkFw0IZNUwisKBCngAr3JT7TVjTsKWiAkhmjN5aItQeAXigkAL 2N8c97iY+Wa2O409dUGj3P49WIDk6DUlMCR1Vv8jlftC+EOKdRVFT41XkuTNj23jaj 9nsCYebyhKyyhaNFiCH2f4TGUG8noQOhgyOef5+8WTEwqEs5YsdFjT5lYBAPjFwfnd TcZQaCXEjF0oweeRDcyNStFx9LRVrnbjYkfoNScl+UH6p6rVv+bwMsIfB7BWh69Raf V7st/9dRA0XUKcYhp+oI5s3kQGThKl+VENAvA6ZHqbqEC8MJSocwQFZv7YJalkaYMv MZ7CjAqwIsBSg== Received: from [192.168.1.26] (pv50p00im-dlb-asmtp-mailmevip.me.com [17.56.9.10]) by pv50p00im-ztdg10012101.me.com (Postfix) with ESMTPSA id 358F2740375; Tue, 14 Jan 2025 15:23:32 +0000 (UTC) From: Zijun Hu Date: Tue, 14 Jan 2025 23:23:04 +0800 Subject: [PATCH v5 2/3] of: reserved-memory: Warn for missing static reserved memory regions Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250114-of_core_fix-v5-2-b8bafd00a86f@quicinc.com> References: <20250114-of_core_fix-v5-0-b8bafd00a86f@quicinc.com> In-Reply-To: <20250114-of_core_fix-v5-0-b8bafd00a86f@quicinc.com> To: Rob Herring , Saravana Kannan , Oreoluwa Babatunde Cc: Zijun Hu , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Zijun Hu , stable@vger.kernel.org X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: 4Dhg0ki3FumCfmwtl0VcFP6dtH3kaZz7 X-Proofpoint-GUID: 4Dhg0ki3FumCfmwtl0VcFP6dtH3kaZz7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-14_05,2025-01-13_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=634 phishscore=0 adultscore=0 clxscore=1015 malwarescore=0 suspectscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2308100000 definitions=main-2501140121 X-Apple-Remote-Links: v=1;h=KCk=;charset=UTF-8 From: Zijun Hu For child node of /reserved-memory, its property 'reg' may contain multiple regions, but fdt_scan_reserved_mem_reg_nodes() only takes into account the first region, and miss remaining regions. But there are no simple approach to fix it, so give user warning message when miss remaining regions. Fixes: 8a6e02d0c00e ("of: reserved_mem: Restructure how the reserved memory= regions are processed") Cc: stable@vger.kernel.org Signed-off-by: Zijun Hu --- drivers/of/of_reserved_mem.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c index 17c57118c4960d8ac502add1904f7f464258f5a1..75e819f66a56139a800dba5e2e0= 044d0bbeb065e 100644 --- a/drivers/of/of_reserved_mem.c +++ b/drivers/of/of_reserved_mem.c @@ -263,6 +263,11 @@ void __init fdt_scan_reserved_mem_reg_nodes(void) uname); continue; } + + if (len > t_len) + pr_warn("%s() ignores %d regions in node '%s'\n", + __func__, len / t_len - 1, uname); + base =3D dt_mem_next_cell(dt_root_addr_cells, &prop); size =3D dt_mem_next_cell(dt_root_size_cells, &prop); =20 --=20 2.34.1 From nobody Wed Dec 17 04:20:10 2025 Received: from pv50p00im-ztdg10012101.me.com (pv50p00im-ztdg10012101.me.com [17.58.6.49]) (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 71FEF194A74 for ; Tue, 14 Jan 2025 15:23:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=17.58.6.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736868222; cv=none; b=JC2QtU0aNXaE/lJLeGVIWRv8eFMXjgvHjUyK+gMUj25MKbQ/g9XbKSjXS+f2Wglgcd6w7hagoNBxKrLwbvEUP0MPv2HObPqYDOxJBvjIVs2BhEdkz5mo+aRATKWxTV6wrqK8zryyZmxTG/Ithihf9IC7RuYrSH66z4LEpXSU+0k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736868222; c=relaxed/simple; bh=d1s9ZfvC1jghcNOdLj6ATp7UMx2J54qBMdja9wmUxhE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LAbVdwoSb3XyP0ZhB42PKyUHaDUxHXgrVVmAmlzKG8jsvp3lGTB3SVuvGuhdiutUN5uu2Tw1uw3p9Pn2JOf24+svPLEfsDiAIYC9oz4gj/GWP7FKbaMedx7RFeuYWExV3lrZtaxV+sGB2v0I/NNX/+eiMmDkzCi0zoNtkXxi+X0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com; spf=pass smtp.mailfrom=icloud.com; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b=sYZ/B44H; arc=none smtp.client-ip=17.58.6.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=icloud.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=icloud.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=icloud.com header.i=@icloud.com header.b="sYZ/B44H" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; t=1736868221; bh=w16vMjwdN8Ia+lnbvpB82rHqjNQzRwERV77jgJ4m4ao=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To: x-icloud-hme; b=sYZ/B44HfzJd8YKhuF0TR2/jowaxKrSNPjOFkbLlUsIXPPDh95kboknOBEqPnONA3 kG+eQ1zo3fR+UY0DK2LQfT+GFhCRv3w2byPuJM23/euJbBvW65xPPxnEs4Hk4/BO4P dED5U+2Oo7gbeax6O7qrvq4u7hX0RDZ2PPwieRu7izPkwlHTJeX2o2zzFXb7bUzVLc o5oCSjA6S6ZYOS5j959J2GPF2cbK1FQsKFH2wkr2mofIdJrw1O2/vMSsJU75JpHaIo hmjExEw2Tu6Khy40DoLbfWm5BHpZjne9BlHI6We0Yn747LwFIKhr0U3+EFmgfI7YA2 E4fkmlReZDvlw== Received: from [192.168.1.26] (pv50p00im-dlb-asmtp-mailmevip.me.com [17.56.9.10]) by pv50p00im-ztdg10012101.me.com (Postfix) with ESMTPSA id 591C5740369; Tue, 14 Jan 2025 15:23:36 +0000 (UTC) From: Zijun Hu Date: Tue, 14 Jan 2025 23:23:05 +0800 Subject: [PATCH v5 3/3] of: Correct element count for two arrays in API of_parse_phandle_with_args_map() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250114-of_core_fix-v5-3-b8bafd00a86f@quicinc.com> References: <20250114-of_core_fix-v5-0-b8bafd00a86f@quicinc.com> In-Reply-To: <20250114-of_core_fix-v5-0-b8bafd00a86f@quicinc.com> To: Rob Herring , Saravana Kannan , Oreoluwa Babatunde Cc: Zijun Hu , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: H3kdc_4ygtUMBEws7xV4wHIYMR9xf_pb X-Proofpoint-GUID: H3kdc_4ygtUMBEws7xV4wHIYMR9xf_pb X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-14_05,2025-01-13_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=902 phishscore=0 adultscore=0 clxscore=1015 malwarescore=0 suspectscore=0 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2308100000 definitions=main-2501140121 X-Apple-Remote-Links: v=1;h=KCk=;charset=UTF-8 From: Zijun Hu of_parse_phandle_with_args_map() defines array @dummy_mask and @dummy_pass these two arrays only need @MAX_PHANDLE_ARGS elements separately, but they actually have (@MAX_PHANDLE_ARGS + 1) elements, One extra element doesn't hurt anything except for some stack usage. Fix by using (@MAX_PHANDLE_ARGS - 1) as max element index in initializer. Signed-off-by: Zijun Hu --- drivers/of/base.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/of/base.c b/drivers/of/base.c index f4ab4086b80f62c4d9ce428cdde042d0ed4febe2..2432e0f4646d1d829d5b94ae2d2= b1717afe286cf 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -1448,8 +1448,8 @@ int of_parse_phandle_with_args_map(const struct devic= e_node *np, char *pass_name __free(kfree) =3D kasprintf(GFP_KERNEL, "%s-map-pass-thru= ", stem_name); struct device_node *cur, *new =3D NULL; const __be32 *map, *mask, *pass; - static const __be32 dummy_mask[] =3D { [0 ... MAX_PHANDLE_ARGS] =3D cpu_t= o_be32(~0) }; - static const __be32 dummy_pass[] =3D { [0 ... MAX_PHANDLE_ARGS] =3D cpu_t= o_be32(0) }; + static const __be32 dummy_mask[] =3D { [0 ... (MAX_PHANDLE_ARGS - 1)] =3D= cpu_to_be32(~0) }; + static const __be32 dummy_pass[] =3D { [0 ... (MAX_PHANDLE_ARGS - 1)] =3D= cpu_to_be32(0) }; __be32 initial_match_array[MAX_PHANDLE_ARGS]; const __be32 *match_array =3D initial_match_array; int i, ret, map_len, match; --=20 2.34.1