From: Gavin Shan Date: Mon, 23 Jan 2017 22:49:54 +0000 (+1100) Subject: powerpc/kernel: Fix unbalanced refcount on RTAS device node X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=8b2577832100706124fd6fe09f887992c8d7c0c6;p=openwrt%2Fstaging%2Fblogic.git powerpc/kernel: Fix unbalanced refcount on RTAS device node The RTAS device-tree node's refcount has been increased by one in the function call of_find_node_by_name(), but it's missed to be decreased by one in the error path. It leads to unbalanced refcount on RTAS device-tree node. This fixes above issue by decreasing RTAS device-tree node's refcount in error path. Signed-off-by: Gavin Shan Signed-off-by: Michael Ellerman --- diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index ba5a4cc0e5b6..b8a4987f58cf 100644 --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c @@ -1158,6 +1158,7 @@ void __init rtas_initialize(void) no_base = of_property_read_u32(rtas.dev, "linux,rtas-base", &base); no_size = of_property_read_u32(rtas.dev, "rtas-size", &size); if (no_base || no_size) { + of_node_put(rtas.dev); rtas.dev = NULL; return; }