mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
mips/pic32/pic32mzda: Fix refcount leak bugs
of_find_matching_node(), of_find_compatible_node() and of_find_node_by_path() will return node pointers with refcout incremented. We should call of_node_put() when they are not used anymore. Signed-off-by: Liang He <windhl@126.com> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
This commit is contained in:
parent
7669559271
commit
eb9e9bc4fa
@ -98,13 +98,18 @@ static int __init pic32_of_prepare_platform_data(struct of_dev_auxdata *lookup)
|
||||
np = of_find_compatible_node(NULL, NULL, lookup->compatible);
|
||||
if (np) {
|
||||
lookup->name = (char *)np->name;
|
||||
if (lookup->phys_addr)
|
||||
if (lookup->phys_addr) {
|
||||
of_node_put(np);
|
||||
continue;
|
||||
}
|
||||
if (!of_address_to_resource(np, 0, &res))
|
||||
lookup->phys_addr = res.start;
|
||||
of_node_put(np);
|
||||
}
|
||||
}
|
||||
|
||||
of_node_put(root);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -32,6 +32,9 @@ static unsigned int pic32_xlate_core_timer_irq(void)
|
||||
goto default_map;
|
||||
|
||||
irq = irq_of_parse_and_map(node, 0);
|
||||
|
||||
of_node_put(node);
|
||||
|
||||
if (!irq)
|
||||
goto default_map;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user