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/[email protected]/
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... Oleg.
