gpio: mockup: fix a potential crash when creating debugfs entries

Message ID 20180304124551.22565-1-brgl@bgdev.pl
State New
Headers show
Series
  • gpio: mockup: fix a potential crash when creating debugfs entries
Related show

Commit Message

Bartosz Golaszewski March 4, 2018, 12:45 p.m.
If we failed to create the top debugfs directory, we must not try to
create the child nodes. We currently only check if gpio_mockup_dbg_dir
is not NULL, but it can also contain an errno if debugfs is disabled
in build options. Use IS_ERR_OR_NULL() instead.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
---
 drivers/gpio/gpio-mockup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Bartosz Golaszewski March 19, 2018, 9:35 a.m. | #1
2018-03-04 13:45 GMT+01:00 Bartosz Golaszewski <brgl@bgdev.pl>:
> If we failed to create the top debugfs directory, we must not try to
> create the child nodes. We currently only check if gpio_mockup_dbg_dir
> is not NULL, but it can also contain an errno if debugfs is disabled
> in build options. Use IS_ERR_OR_NULL() instead.
>
> Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
> ---
>  drivers/gpio/gpio-mockup.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
> index 3a545ad17817..b5876b07b0f7 100644
> --- a/drivers/gpio/gpio-mockup.c
> +++ b/drivers/gpio/gpio-mockup.c
> @@ -314,7 +314,7 @@ static int gpio_mockup_probe(struct platform_device *pdev)
>         if (rv)
>                 return rv;
>
> -       if (gpio_mockup_dbg_dir)
> +       if (!IS_ERR_OR_NULL(gpio_mockup_dbg_dir))
>                 gpio_mockup_debugfs_setup(dev, chip);
>
>         return 0;
> --
> 2.16.1
>

Hi Linus,

gentle ping for this one as it causes a crash if debugfs is disabled.

Bart
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Linus Walleij March 27, 2018, 1:14 p.m. | #2
On Sun, Mar 4, 2018 at 1:45 PM, Bartosz Golaszewski <brgl@bgdev.pl> wrote:

> If we failed to create the top debugfs directory, we must not try to
> create the child nodes. We currently only check if gpio_mockup_dbg_dir
> is not NULL, but it can also contain an errno if debugfs is disabled
> in build options. Use IS_ERR_OR_NULL() instead.
>
> Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>

Patch applied.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
index 3a545ad17817..b5876b07b0f7 100644
--- a/drivers/gpio/gpio-mockup.c
+++ b/drivers/gpio/gpio-mockup.c
@@ -314,7 +314,7 @@  static int gpio_mockup_probe(struct platform_device *pdev)
 	if (rv)
 		return rv;
 
-	if (gpio_mockup_dbg_dir)
+	if (!IS_ERR_OR_NULL(gpio_mockup_dbg_dir))
 		gpio_mockup_debugfs_setup(dev, chip);
 
 	return 0;