Re: [PATCH v2 5/8] kernel: convert process/thread iterators to for_each_*_rculock
From: Gregory Price
Date: Wed Sep 09 2026 - 18:25:25 EST
On Tue, Sep 08, 2026 at 08:35:16AM +0200, Oleg Nesterov wrote:
> On 09/08, K Prateek Nayak wrote:
> >
> > On 9/8/2026 3:24 AM, Oleg Nesterov wrote:
> > >> This might be my - admittedly shallow - understanding of scoped_guard,
> > >> but does scoped guard handle goto correctly?
> > >
> > > Yes, it does,
> > >
> > >> and why it's generally discouraged to mix cleanup.h and goto.
> > >
> > > Hmm, why? I didn't know...
> >
> > Apparently older GCC would allow subtle bugs with cleanup + goto to slip
> > by but clang has always caught those bugs and refused to compile so as
> > long as clang builds are happy, things should be good.
> >
> > Here is an older explanation from Peter:
> > https://lore.kernel.org/lkml/20260327154136.GL3739106@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
>
> Ah, but in this case the code is buggy, "goto unregister" jumps
> into the scope of __free.
>
> Anyway, I agree that mixing cleanup and goto can make the code
> confusing or buggy, but this particular case still looks fine
> to me...
>
Seems jump-out is ok, thanks for the confirmation Peter.
I do agree the general improvement is nice, but maybe worth considering
taking cleanup.h all the way if we're going to use it - that's all.
The improvement is clearly welcome.
~Gregory