[PATCH] clk: si544: Fix NULL pointer dereference in probe

From: Yang Zi

Date: Tue Aug 25 2026 - 04:57:38 EST


si544_probe() dereferences client->dev.of_node->name without first
checking that a device tree node is present. When the device is
instantiated without DT, e.g. via sysfs "new_device", client->dev.of_node
is NULL and probe crashes with a NULL pointer dereference.

Add an early check and return -ENODEV when no of_node is available, since
this driver requires device tree bindings.

Signed-off-by: Yang Zi <2959243019@xxxxxx>
---
 drivers/clk/clk-si544.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/clk/clk-si544.c b/drivers/clk/clk-si544.c
index 09c06ecec1a5..a9f0765f41ae 100644
--- a/drivers/clk/clk-si544.c
+++ b/drivers/clk/clk-si544.c
@@ -437,6 +437,9 @@ static int si544_probe(struct i2c_client *client)
     struct clk_init_data init;
     int err;
 
+    if (!client->dev.of_node)
+        return -ENODEV;
+
     data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL);
     if (!data)
         return -ENOMEM;