On Fri, 2022-06-10 at 16:56 +0200, Andy Shevchenko wrote: > On Fri, Jun 10, 2022 at 10:48 AM Nuno Sá <nuno.sa@xxxxxxxxxx> wrote: > > > > 'of_node_put()' can potentially release the memory pointed to by > > 'iiospec.np' which would leave us with an invalid pointer (and we > > would > > still pass it in 'of_xlate()'). As such, we can only release the > > node > > after we are done with it. > > The question you should answer in the commit message is the > following: > "Can an OF node, attached to a struct device, be gone before the > device itself?" If it so, then patch is good, otherwise there is no > point in this patch in the first place. > Yeah, I might be wrong but from a quick look... yes, I think the node can be gone before the device. Take a look on the spi or i2c of_notify handling and you can see that the nodes are get/put on the add/remove notifcation. Meaning that the node lifespan is not really attached to the device lifespan. If it was, I would expect to see of_node_put() on the device release() function... Again, I might be wrong and I admit I was not sure about including this patch because it's a very unlikely scenario even though I think, in theory, a possible one. - Nuno Sá