diff mbox series

gpio: sysfs: fix inverted pointer logic

Message ID 20240214085248.6534-1-brgl@bgdev.pl
State New
Headers show
Series gpio: sysfs: fix inverted pointer logic | expand

Commit Message

Bartosz Golaszewski Feb. 14, 2024, 8:52 a.m. UTC
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

The logic is inverted, we want to return if the chip *IS* NULL.

Fixes: d83cee3d2bb1 ("gpio: protect the pointer to gpio_chip in gpio_device with SRCU")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/linux-gpio/15671341-0b29-40e0-b487-0a4cdc414d8e@moroto.mountain/
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
 drivers/gpio/gpiolib-sysfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andy Shevchenko Feb. 14, 2024, 12:52 p.m. UTC | #1
On Wed, Feb 14, 2024 at 09:52:48AM +0100, Bartosz Golaszewski wrote:

...

> Fixes: d83cee3d2bb1 ("gpio: protect the pointer to gpio_chip in gpio_device with SRCU")

I'm wondering if instead tons of fixes you can just fold the patches and rebase your tree.

Yes, we still have time to let it soak in Linux Next, so Torvalds won't complain.
It will be much less burden to anybody who wants to backport this nice work.
Bartosz Golaszewski Feb. 14, 2024, 1:01 p.m. UTC | #2
On Wed, Feb 14, 2024 at 1:52 PM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> On Wed, Feb 14, 2024 at 09:52:48AM +0100, Bartosz Golaszewski wrote:
>
> ...
>
> > Fixes: d83cee3d2bb1 ("gpio: protect the pointer to gpio_chip in gpio_device with SRCU")
>
> I'm wondering if instead tons of fixes you can just fold the patches and rebase your tree.
>
> Yes, we still have time to let it soak in Linux Next, so Torvalds won't complain.
> It will be much less burden to anybody who wants to backport this nice work.
>

No, I don't think so. Rebasing is reserved for really special cases
when nothing else can be done. Fixes like that should be expected for
a big rework like this. This is honestly a strange idea.

And I don't think anyone should backport this work. It's simply way
too big and touches too many places.

Bart
Bartosz Golaszewski Feb. 15, 2024, 7:42 a.m. UTC | #3
On Wed, Feb 14, 2024 at 9:52 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> The logic is inverted, we want to return if the chip *IS* NULL.
>
> Fixes: d83cee3d2bb1 ("gpio: protect the pointer to gpio_chip in gpio_device with SRCU")
> Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
> Closes: https://lore.kernel.org/linux-gpio/15671341-0b29-40e0-b487-0a4cdc414d8e@moroto.mountain/
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> ---
>  drivers/gpio/gpiolib-sysfs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpiolib-sysfs.c b/drivers/gpio/gpiolib-sysfs.c
> index 6285fa5afbb1..e4a6df2b317d 100644
> --- a/drivers/gpio/gpiolib-sysfs.c
> +++ b/drivers/gpio/gpiolib-sysfs.c
> @@ -801,7 +801,7 @@ void gpiochip_sysfs_unregister(struct gpio_device *gdev)
>         guard(srcu)(&gdev->srcu);
>
>         chip = rcu_dereference(gdev->chip);
> -       if (chip)
> +       if (!chip)
>                 return;
>
>         /* unregister gpiod class devices owned by sysfs */
> --
> 2.40.1
>

Patch applied.

Bart
diff mbox series

Patch

diff --git a/drivers/gpio/gpiolib-sysfs.c b/drivers/gpio/gpiolib-sysfs.c
index 6285fa5afbb1..e4a6df2b317d 100644
--- a/drivers/gpio/gpiolib-sysfs.c
+++ b/drivers/gpio/gpiolib-sysfs.c
@@ -801,7 +801,7 @@  void gpiochip_sysfs_unregister(struct gpio_device *gdev)
 	guard(srcu)(&gdev->srcu);
 
 	chip = rcu_dereference(gdev->chip);
-	if (chip)
+	if (!chip)
 		return;
 
 	/* unregister gpiod class devices owned by sysfs */