lkml.org 
[lkml]   [2021]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] net: phy: add missing of_node_put before return
On Mon, Dec 13, 2021 at 01:44:49AM -0800, Qing Wang wrote:
> 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.

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

\
 
 \ /
  Last update: 2021-12-13 12:03    [W:0.117 / U:0.364 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site