Messages in this thread | | | From | 王擎 <> | Subject | Re: [PATCH] net: phy: add missing of_node_put before return | Date | Tue, 14 Dec 2021 02:14:13 +0000 |
| |
>> From: Wang Qing <wangqing@vivo.com> >> >> Fix following coccicheck warning: >> WARNING: Function "for_each_available_child_of_node" >> should have of_node_put() before return. >> >> Early exits from for_each_available_child_of_node should decrement the >> node reference counter. > >Most *definitely* NAK. Coccicheck is most definitely wrong on this one, >and we will probably need some way to tell people not to believe >coccicheck on this. > >In this path, the DT node is assigned to a struct device. This _must_ >be reference counted. device_set_node() does not increment the >reference count, nor does of_fwnode_handle(). The reference count >here is passed from this code over to the struct device. > >Adding an of_node_put() will break this. > >This must _never_ be "fixed" no matter how much coccicheck complains, >as fixing the warning _will_ introduce a refcounting bug. > >I'll send a patch adding a comment to this effect. > >Thanks.
Yes, you are right. Maybe we can add a judgment in this cocci on which exit as expected or abnormally, only the latter needs to be reported.
Thanks, Qing > >-- >RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ >FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
| |