Re: [PATCH 2/4] software node: use kobject_get_unless_zero() in software_node_find_by_name()

From: Andy Shevchenko

Date: Wed Nov 04 2026 - 17:52:59 EST


On Wed, Nov 04, 2026 at 11:43:14PM +0800, Peng Fan (OSS) wrote:

> software_node_find_by_name() also walks the swnode kset list and takes a
> reference with swnode_get(). Like the pointer-based lookup, it can
> encounter an entry whose refcount has already reached zero but which is
> still linked until its delayed release callback runs.
>
> Use kobject_get_unless_zero() and continue scanning when the entry is
> already dying.

...

> if (parent == swnode->node->parent && swnode->node->name &&
> !strcmp(name, swnode->node->name)) {
> - swnode_get(swnode);
> - break;
> + if (kobject_get_unless_zero(k))
> + break;

Can we rather see even in the previous patch something like

... swnode_get_alive(...)
{
...uses kobject_get_unless_zero()...
}

?

> }

--
With Best Regards,
Andy Shevchenko