On Mon, Apr 07, 2025 at 09:00:10AM -0700, Linus Torvalds wrote: > On Mon, 7 Apr 2025 at 01:51, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > > > The scoped one with proper indentation is fine. The non-scoped one is > > the one that is really confusing and odd. > > Ahh, I misunderstood you. > > You're obviously right in a "visually obvious" way - even if it was > the scoped one that caused problems. > > But the non-scoped one is *so* convenient when you have a helper > function that just wants to run with some local (or RCU) held. I wish we'd just hage a way to run an existing scope, especially a funtion fun with a lock, e.g. int some_helper(....) scoped_lock(&some_mutex) { ... } which would give you that with a much more obvious and redable syntax. Not taking the resource in the middle of the block and releasing it at the end will also fix tons of bugs for non-obvious behavior.