Messages in this thread |  | | Date | Tue, 14 Aug 2018 14:56:48 +0800 | From | zhong jiang <> | Subject | Re: [PATCH] drivers/thermal/tegra: fix a doule free devce node |
| |
On 2018/8/14 14:39, Daniel Lezcano wrote: > On 09/08/2018 15:40, zhong jiang wrote: >> Device node iterators will get the return node. Meawhile, It is >> also put the previous device node. An explicit put will cause >> a double put. > What about: > > Subject: drivers/thermal/tegra: Fix a double free on the device node > > "The function 'for_each_child_of_node' iterates over the node list by > dropping the of_node reference of the previous node. > > Calling of_node_put() on the iterator is pointless and leads to an > inconsistent refcounting in addition to a double free. Remove it." Thank you for doing this. I am sorry for stupid issue.
Sincerely, zhong jiang >> Signed-off-by: zhong jiang <zhongjiang@huawei.com> >> --- >> drivers/thermal/tegra/soctherm.c | 1 - >> 1 file changed, 1 deletion(-) >> >> diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c >> index ed28110..3aa55c9 100644 >> --- a/drivers/thermal/tegra/soctherm.c >> +++ b/drivers/thermal/tegra/soctherm.c >> @@ -980,7 +980,6 @@ static void soctherm_init_hw_throt_cdev(struct platform_device *pdev) >> tcd = thermal_of_cooling_device_register(np_stcc, >> (char *)name, ts, >> &throt_cooling_ops); >> - of_node_put(np_stcc); >> if (IS_ERR_OR_NULL(tcd)) { >> dev_err(dev, >> "throttle-cfg: %s: failed to register cooling device\n", >> >
|  |