of_flat_dt_debugfs_export_fdt uses initial_boot_params without checking
if it is valid, and ends up dereferencing a NULL pointer if there is
no DT blob.

This patch adds a check that initial_boot_params is NULL, returning
-ENOENT if it is.

Signed-off-by: Phil Elwell <[email protected]>
---
 drivers/of/fdt.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index d1ffca8..f018e5b 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -1085,8 +1085,12 @@ static struct debugfs_blob_wrapper flat_dt_blob;

 static int __init of_flat_dt_debugfs_export_fdt(void)
 {
-    struct dentry *d = debugfs_create_dir("device-tree", NULL);
+    struct dentry *d;

+    if (!initial_boot_params)
+        return -ENOENT;
+
+    d = debugfs_create_dir("device-tree", NULL);
     if (!d)
         return -ENOENT;

--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to