Re: [PATCH] mtd: partitions: fix of_node_get/put balance in parser

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 17 Sep 2018 16:03:18 +0200
Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote:

> Hi Boris,
> 
> Boris Brezillon <boris.brezillon@xxxxxxxxxxx> wrote on Mon, 17 Sep 2018
> 15:51:40 +0200:
> 
> > On Mon, 17 Sep 2018 11:55:20 +0200
> > Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote:
> >   
> > > > Or you just say that mtd_get_of_node() does not retain a reference to
> > > > the device_node object it returns and that should be enough ;-).      
> > > 
> > > Fine by me, you can apply it and modify in place.    
> > 
> > Here is the new commit message:
> > 
> > "
> > mtd: partitions: fix unbalanced of_node_get/put()
> > 
> > While at first mtd_part_of_parse() would just call
> > of_get_chil_by_name(), it has been patched to deal with sub-partitions
> > and will now directly manipulate the node returned mtd_get_of_node() if  
> 
>                                                     ^by
> 
> > the MTD device is a partition.
> > 
> > A of_node_put() was a bit below in the code, to balance the
> > of_get_child_by_name(). However, despite its name, mtd_get_of_node()
> > does not take a reference on the OF node. It is a simple helper
> > hiding some pointer logic to retrieve the OF node related to an MTD
> > device.
> >     
> > The direct effect of such unbalanced reference counting is visible
> > by rmmod'ing any module that would have added MTD partitions:
> > 
> > 	OF: ERROR: Bad of_node_put() on <of_path_to_partition>
> > 
> > As it seems normal to get a reference on the OF node during the
> > of_property_for_each_string() that follows, add a call to
> > of_node_get() when relevant.
> >     
> > Fixes: 76a832254ab0 ("mtd: partitions: use DT info for parsing partitions with "compatible" prop")
> > Cc: stable@xxxxxxxxxxxxxxx
> > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
> > Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxx>
> > "
> > 
> > Let me know if you're okay with this update.  
> 
> One missing work, otherwise I'm ok.

Fixed and pushed.

Thanks,

Boris




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux