Thread (47 messages) flat view 47 messages, 9 authors, 9d ago

Re: [PATCH v2 5/8] kernel: convert process/thread iterators to for_each_*_rculock

From: Oleg Nesterov <oleg@redhat.com>
Date: 2026-09-08 06:35:42
Also in: linux-fsdevel, linux-mm, linux-pm, linux-trace-kernel, lkml, rcu

On 09/08, K Prateek Nayak wrote:
On 9/8/2026 3:24 AM, Oleg Nesterov wrote:
quoted
quoted
This might be my - admittedly shallow - understanding of scoped_guard,
but does scoped guard handle goto correctly?
Yes, it does,
quoted
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@noisy.programming.kicks-ass.net/ (local)
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help