* Re: Patch "gpio: protect the list of GPIO devices with SRCU" has been added to the 6.8-stable tree
[not found] <20240403160213.267317-1-sashal@kernel.org>
@ 2024-04-03 21:05 ` Bartosz Golaszewski
2024-04-04 6:45 ` Greg KH
0 siblings, 1 reply; 2+ messages in thread
From: Bartosz Golaszewski @ 2024-04-03 21:05 UTC (permalink / raw)
To: stable; +Cc: stable-commits, Linus Walleij, Bartosz Golaszewski
On Wed, 3 Apr 2024 at 18:02, Sasha Levin <sashal@kernel.org> wrote:
>
> This is a note to let you know that I've just added the patch titled
>
> gpio: protect the list of GPIO devices with SRCU
>
> to the 6.8-stable tree which can be found at:
> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
>
> The filename of the patch is:
> gpio-protect-the-list-of-gpio-devices-with-srcu.patch
> and it can be found in the queue-6.8 subdirectory.
>
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@vger.kernel.org> know about it.
>
>
>
> commit 077106f97c7d113ebacb00725d83b817d0e89288
> Author: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> Date: Fri Jan 19 16:43:13 2024 +0100
>
> gpio: protect the list of GPIO devices with SRCU
>
> [ Upstream commit e348544f7994d252427ed3ae637c7081cbb90f66 ]
>
> We're working towards removing the "multi-function" GPIO spinlock that's
> implemented terribly wrong. We tried using an RW-semaphore to protect
> the list of GPIO devices but it turned out that we still have old code
> using legacy GPIO calls that need to translate the global GPIO number to
> the address of the associated descriptor and - to that end - traverse
> the list while holding the lock. If we change the spinlock to a sleeping
> lock then we'll end up with "scheduling while atomic" bugs.
>
> Let's allow lockless traversal of the list using SRCU and only use the
> mutex when modyfing the list.
>
> While at it: let's protect the period between when we start the lookup
> and when we finally request the descriptor (increasing the reference
> count of the GPIO device) with the SRCU read lock.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Stable-dep-of: 5c887b65bbd1 ("gpiolib: Fix debug messaging in gpiod_find_and_request()")
> Signed-off-by: Sasha Levin <sashal@kernel.org>
>
I'm not sure what the reason for picking this up into stable was but I
believe it's not a good idea. This is just the first patch in a big
series[1] of 24 commits total on top of which we had several bug fixes
during the stabilization phase in next. Without the rest of the
rework, it doesn't really improve the situation a lot.
I suggest dropping this and not trying to backport any of the GPIOLIB
locking rework to stable branches.
Best Regards,
Bartosz
[1] https://lore.kernel.org/lkml/20240208095920.8035-22-brgl@bgdev.pl/T/
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Patch "gpio: protect the list of GPIO devices with SRCU" has been added to the 6.8-stable tree
2024-04-03 21:05 ` Patch "gpio: protect the list of GPIO devices with SRCU" has been added to the 6.8-stable tree Bartosz Golaszewski
@ 2024-04-04 6:45 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2024-04-04 6:45 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: stable, stable-commits, Linus Walleij, Bartosz Golaszewski
On Wed, Apr 03, 2024 at 11:05:42PM +0200, Bartosz Golaszewski wrote:
> On Wed, 3 Apr 2024 at 18:02, Sasha Levin <sashal@kernel.org> wrote:
> >
> > This is a note to let you know that I've just added the patch titled
> >
> > gpio: protect the list of GPIO devices with SRCU
> >
> > to the 6.8-stable tree which can be found at:
> > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> >
> > The filename of the patch is:
> > gpio-protect-the-list-of-gpio-devices-with-srcu.patch
> > and it can be found in the queue-6.8 subdirectory.
> >
> > If you, or anyone else, feels it should not be added to the stable tree,
> > please let <stable@vger.kernel.org> know about it.
> >
> >
> >
> > commit 077106f97c7d113ebacb00725d83b817d0e89288
> > Author: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> > Date: Fri Jan 19 16:43:13 2024 +0100
> >
> > gpio: protect the list of GPIO devices with SRCU
> >
> > [ Upstream commit e348544f7994d252427ed3ae637c7081cbb90f66 ]
> >
> > We're working towards removing the "multi-function" GPIO spinlock that's
> > implemented terribly wrong. We tried using an RW-semaphore to protect
> > the list of GPIO devices but it turned out that we still have old code
> > using legacy GPIO calls that need to translate the global GPIO number to
> > the address of the associated descriptor and - to that end - traverse
> > the list while holding the lock. If we change the spinlock to a sleeping
> > lock then we'll end up with "scheduling while atomic" bugs.
> >
> > Let's allow lockless traversal of the list using SRCU and only use the
> > mutex when modyfing the list.
> >
> > While at it: let's protect the period between when we start the lookup
> > and when we finally request the descriptor (increasing the reference
> > count of the GPIO device) with the SRCU read lock.
> >
> > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> > Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> > Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > Stable-dep-of: 5c887b65bbd1 ("gpiolib: Fix debug messaging in gpiod_find_and_request()")
> > Signed-off-by: Sasha Levin <sashal@kernel.org>
> >
>
> I'm not sure what the reason for picking this up into stable was but I
> believe it's not a good idea. This is just the first patch in a big
> series[1] of 24 commits total on top of which we had several bug fixes
> during the stabilization phase in next. Without the rest of the
> rework, it doesn't really improve the situation a lot.
>
> I suggest dropping this and not trying to backport any of the GPIOLIB
> locking rework to stable branches.
I've dropped this and fixed up the commit this was a dependency for now,
thanks for the review!
greg k-h
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-04-04 6:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20240403160213.267317-1-sashal@kernel.org>
2024-04-03 21:05 ` Patch "gpio: protect the list of GPIO devices with SRCU" has been added to the 6.8-stable tree Bartosz Golaszewski
2024-04-04 6:45 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox