[PATCH] of: reserved-mem: Warn for missing initfn in __reservedmem_of_table

From: Liya Huang
Date: Tue Apr 15 2025 - 10:16:18 EST


For the data in __reservedmem_of_table, its function pointer initfn might
be NULL. However, __reserved_mem_init_node() only considers non-NULL cases
and ignores NULL function pointers.

Therefore, a check for the possibility of initfn being NULL has been added
here, along with skipping the initfn() and issuing a warning.

To: Rob Herring <robh@xxxxxxxxxx>
To: Saravana Kannan <saravanak@xxxxxxxxxx>
Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Liya Huang <1425075683@xxxxxx>
---
For the data in __reservedmem_of_table, its function pointer initfn might
be NULL. However, __reserved_mem_init_node() only considers non-NULL cases
and ignores NULL function pointers.

Therefore, a check for the possibility of initfn being NULL has been added
here, along with skipping the initfn() and issuing a warning.
---
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 ee2e31522d7ef69d816127a9003c423d5fb4023d..0a7cc599c0ca68001b2395759310f3585f247db9 100644
--- a/drivers/of/of_reserved_mem.c
+++ b/drivers/of/of_reserved_mem.c
@@ -496,6 +496,11 @@ static int __init __reserved_mem_init_node(struct reserved_mem *rmem)
if (!of_flat_dt_is_compatible(rmem->fdt_node, compat))
continue;

+ if (!initfn) {
+ pr_warn("no init function for %s\n", rmem->name);
+ continue;
+ }
+
ret = initfn(rmem);
if (ret == 0) {
pr_info("initialized node %s, compatible id %s\n",

---
base-commit: 8ffd015db85fea3e15a77027fda6c02ced4d2444
change-id: 20250415-__reserved_mem_init_node-689cbe9d54c4

Best regards,
--
Liya Huang <1425075683@xxxxxx>