Re: [PATCH v2 0/4] gpio: fix SRCU bugs

From: Paul E. McKenney
Date: Wed Feb 14 2024 - 13:44:45 EST


On Wed, Feb 14, 2024 at 09:44:15AM +0100, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>
>
> Here are four fixes to some bugs in recent SRCU changes. The first one fixes
> an actual race condition. The other three just make lockdep happy.

For 1/4-3/4:

Acked-by: Paul E. McKenney <paulmck@xxxxxxxxxx>

For 4/4, you are playing with fire, but I will assume that you know what
you are doing. ;-)

Thanx, Paul

> v1 -> v2:
> - use srcu_dereference() instead of rcu_dereference_protected() as
> advised by Paul
> - add a patch using rcu_dereference_check(..., 1) in deprecated
> interfaces that return the address of the RCU-protected chip structure
> to external users (who shouldn't use it anyway but well...)
> - pick up review tags for patches 1/4 and 2/4
>
> Bartosz Golaszewski (4):
> gpio: take the SRCU read lock in gpiod_hog()
> gpio: cdev: use correct pointer accessors with SRCU
> gpio: use srcu_dereference() with SRCU-protected pointers
> gpio: don't let lockdep complain about inherently dangerous RCU usage
>
> drivers/gpio/gpiolib-cdev.c | 25 ++++++++++++-------------
> drivers/gpio/gpiolib-sysfs.c | 5 +++--
> drivers/gpio/gpiolib.c | 32 ++++++++++++++++++--------------
> drivers/gpio/gpiolib.h | 3 ++-
> 4 files changed, 35 insertions(+), 30 deletions(-)
>
> --
> 2.40.1
>