On 6/4/20 1:15 PM, Greg Kroah-Hartman wrote:
On Thu, Jun 04, 2020 at 12:36:23PM -0700, [email protected] wrote:
From: Jordan Hand <[email protected]>

If a child swnode is unregistered after it's parent, it can lead to
undefined behavior.

Crashing the system is not really "undefined" :)

Fair point :)


When a swnode is unregistered, recursively free it's children to avoid
this condition.

Are you sure?  Why would you be unregistering a child after it's parent?
Why not just do not do that?


The main motivation for doing this was to support `software_node_unregister_nodes` so that the passed list of nodes does not need to be ordered in any particular way.

I suppose another way to do this would be to add a new function `fwnode_remove_software_node_recursive` and just call that from `software_node_unregister_nodes`.

That said, I suppose just ordering the nodes so that children come before parents would also be fine. My thinking was just that accepting any node ordering is simpler.

Thanks,
Jordan

Reply via email to