[PATCH] ARM: layerscape: ppa: Fix use after free
Sascha Hauer
s.hauer at pengutronix.de
Wed Nov 11 09:10:12 EST 2020
In of_psci_do_fixup() we want to delete the one job-ring device node
which is used by the PPA secure firmware. When we have deleted the node
we may not continue the for_each_compatible_node_from() loop, because
that would derefence the just deleted node.
We only want to delete a single node, so we do not need to continue the
loop once we've found the node, so we can fix the issue by breaking out
of the loop.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
arch/arm/mach-layerscape/ppa.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/mach-layerscape/ppa.c b/arch/arm/mach-layerscape/ppa.c
index 6ab7659be7..c34651f39f 100644
--- a/arch/arm/mach-layerscape/ppa.c
+++ b/arch/arm/mach-layerscape/ppa.c
@@ -43,6 +43,7 @@ static int of_psci_do_fixup(struct device_node *root, void *unused)
continue;
of_delete_node(np);
+ break;
}
return of_psci_fixup(root, psci_version);
--
2.20.1
More information about the barebox
mailing list