On Thu, Nov 30, 2023 at 5:46 PM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > On Thu, Nov 30, 2023 at 02:46:30PM +0100, Bartosz Golaszewski wrote: > > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > > > > We have no external users of gpiochip_is_requested(). Let's remove it > > and replace its internal calls with direct testing of the REQUESTED flag. > > ... > > > - cpy = kstrdup(label, GFP_KERNEL); > > - if (!cpy) > > - return ERR_PTR(-ENOMEM); > > + scoped_guard(spinlock_irqsave, &gpio_lock) { > > + if (!test_bit(FLAG_REQUESTED, &desc->flags)) > > + return NULL; > > > + cpy = kstrdup(desc->label, GFP_KERNEL); > > + if (!cpy) > > + return ERR_PTR(-ENOMEM); > > You just introduced these lines earlier in the series, and here you moved > them again. With guard() instead it may be kept in a better shape. > I wanted to limit the critical section to a minimum hence scoped variant. And this will go away as soon as we have a desc lock so it's temporary anyway. What matters to me is how the code looks when sending it to Torvalds. On the off chance that we don't get the locking rework merged in time for v6.8, I want this to at least be under the existing lock. Bart > > + } > > -- > With Best Regards, > Andy Shevchenko > >