lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 25 Feb 2020 11:42:23 +0100
From:   Luca Ceresoli <luca@...aceresoli.net>
To:     devicetree@...r.kernel.org,
        Geert Uytterhoeven <geert+renesas@...der.be>
Cc:     Pantelis Antoniou <pantelis.antoniou@...sulko.com>,
        Frank Rowand <frowand.list@...il.com>,
        Rob Herring <robh+dt@...nel.org>, linux-kernel@...r.kernel.org,
        Luca Ceresoli <luca@...aceresoli.net>
Subject: [DT-OVERLAY PATCH] of: overlay: print the offending node name on fixup failure

When a DT overlay has a fixup node that is not present in the base DT
__symbols__, this error is printed:

  OF: resolver: overlay phandle fixup failed: -22
  create_overlay: Failed to create overlay (err=-22)

which does not help much in finding the node that caused the problem.

Add a debug print with the name of the fixup node that caused the
error. The new output is:

  OF: resolver: node gpio9 not found in base DT, fixup failed
  OF: resolver: overlay phandle fixup failed: -22
  create_overlay: Failed to create overlay (err=-22)

Signed-off-by: Luca Ceresoli <luca@...aceresoli.net>

---

NOTE: this patch is not for mainline!

It applies on top of the runtime overlay patches at
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git on
branch topic/overlays, currently based on v5.6-rc1. This looked like the
most up-to-date version of the overlay patches. Should there be a better
place, please let me know.
---
 drivers/of/resolver.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/of/resolver.c b/drivers/of/resolver.c
index 83c766233181..ade817407b78 100644
--- a/drivers/of/resolver.c
+++ b/drivers/of/resolver.c
@@ -321,8 +321,11 @@ int of_resolve_phandles(struct device_node *overlay)
 
 		err = of_property_read_string(tree_symbols,
 				prop->name, &refpath);
-		if (err)
+		if (err) {
+			pr_err("node %s not found in base DT, fixup failed",
+			       prop->name);
 			goto out;
+		}
 
 		refnode = of_find_node_by_path(refpath);
 		if (!refnode) {
-- 
2.25.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ