Re: [PATCH v8 01/10] kernfs: Remove reference counting for kernfs_open_node.

From: Tejun Heo
Date: Tue Apr 26 2022 - 16:17:32 EST


On Tue, Apr 26, 2022 at 08:13:22PM +0000, Al Viro wrote:
> On Tue, Apr 26, 2022 at 08:29:21AM -1000, Tejun Heo wrote:
>
> > The code is just wrong. You can end up:
> >
> > on = kn->attr.open;
> > if (!on)
> > return;
> >
> > // we get preempted here and someone else puts @on and then
> > // recreates it
>
> Can't happen - the caller has guaranteed that no new openers will be
> coming. Look at the call chain of kernfs_drain_open_files()...

Ah, okay. It can only transition to NULL from there. It's still a weird way
to go about it tho.

Thanks.

--
tejun