Re: [PATCH 04/18] software_node: Enforce parent before child ordering of nodes array for software_node_register_nodes()

From: Andy Shevchenko
Date: Mon Nov 30 2020 - 12:37:14 EST


On Mon, Nov 30, 2020 at 01:31:15PM +0000, Daniel Scally wrote:
> Registering software_nodes with the .parent member set to point to a
> currently unregistered software_node has the potential for problems,
> so enforce parent -> child ordering in arrays passed to this function.

I agree with Laurent.

...

> for (i = 0; nodes[i].name; i++) {
> + if (nodes[i].parent)
> + if (!software_node_to_swnode(nodes[i].parent)) {
> + ret = -EINVAL;
> + goto err_unregister_nodes;
> + }
> +

Besides that can we pack these conditionals together?

if (nodes[i].parent && !software_node_to_swnode(nodes[i].parent)) {


Do we have sane ordering in software_node_unregister_nodes()?

--
With Best Regards,
Andy Shevchenko