[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMRc=McLsY47oAk3GWp0Cecb=+fEtRKjJ_L3kyKkxYkEnwME7A@mail.gmail.com>
Date: Tue, 13 Feb 2024 09:10:52 +0100
From: Bartosz Golaszewski <brgl@...ev.pl>
To: "Paul E . McKenney" <paulmck@...nel.org>
Cc: oe-lkp@...ts.linux.dev, lkp@...el.com,
Linus Walleij <linus.walleij@...aro.org>, linux-gpio@...r.kernel.org,
Kent Gibson <warthog618@...il.com>, Alex Elder <elder@...aro.org>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>, Wolfram Sang <wsa@...-dreams.de>,
linux-kernel@...r.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@...aro.org>, kernel test robot <oliver.sang@...el.com>
Subject: Re: [PATCH v3 22/24] gpio: protect the pointer to gpio_chip in
gpio_device with SRCU
On Mon, Feb 12, 2024 at 10:20 PM Bartosz Golaszewski <brgl@...ev.pl> wrote:
>
[snip]
> >
> >
> > [ 76.432519][ T1] gpiochip_find_base_unlocked: found new base at 512
> > [ 76.434591][ T1]
> > [ 76.435240][ T1] =============================
> > [ 76.436545][ T1] WARNING: suspicious RCU usage
> > [ 76.437813][ T1] 6.8.0-rc1-00050-gc21131f83abc #1 Tainted: G N
> > [ 76.439873][ T1] -----------------------------
> > [ 76.441158][ T1] drivers/gpio/gpiolib.c:219 suspicious rcu_dereference_check() usage!
> > [ 76.443364][ T1]
[snip]
>
> Paul,
>
> Could you help me out here? It seems that lockdep complains (with
> "suspicious RCU usage") whenever an RCU-protected pointer is passed to
> rcu_dereference() but is not actually dereferenced later - in which
> case switching to rcu_access_pointer() helps. But in the case of the
> of_unittests() it also emits the same warning for
> gpiod_direction_input() where gdev->chip is fetched with
> rcu_dereference() using CLASS(gpio_chip_guard) and later actually
> dereferenced by calling guard.gc->...
>
> Any hints as to what I'm doing wrong?
>
> Thanks,
> Bartosz
Seems like these can be silenced with rcu_dereference_protected() so
I'll use it for now.
Bart
Powered by blists - more mailing lists