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 >