Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1662352 > unrolled thread

[PATCH v3 0/8] gpio: mockup: updates for 4.13

Started byBartosz Golaszewski <brgl@bgdev.pl>
First post2017-06-09 13:50 +0200
Last post2017-06-09 17:50 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v3 0/8] gpio: mockup: updates for 4.13 Bartosz Golaszewski <brgl@bgdev.pl> - 2017-06-09 13:50 +0200
    [PATCH v3 2/8] gpio: mockup: tweak gpio_mockup_event_write() Bartosz Golaszewski <brgl@bgdev.pl> - 2017-06-09 13:50 +0200
      Re: [PATCH v3 2/8] gpio: mockup: tweak gpio_mockup_event_write() Linus Walleij <linus.walleij@linaro.org> - 2017-06-20 09:20 +0200
    Re: [PATCH v3 0/8] gpio: mockup: updates for 4.13 Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-06-09 17:50 +0200

#1662352 — [PATCH v3 0/8] gpio: mockup: updates for 4.13

FromBartosz Golaszewski <brgl@bgdev.pl>
Date2017-06-09 13:50 +0200
Subject[PATCH v3 0/8] gpio: mockup: updates for 4.13
Message-ID<tQqAq-Yw-7@gated-at.bofh.it>
v1 -> v2:
- omit applied patches
- use kstrtoint_from_user() for debugfs input sanitization
- add a patch improving the code in gpio_mockup_event_write()
- bail out from gpio_mockup_event_write() on invalid input even when
  nobody is listening for events

v2 -> v3:
- added the patch replacing devm_kzalloc() with devm_kcalloc() where
  applicable

Bartosz Golaszewski (8):
  gpio: mockup: improve the debugfs input sanitization
  gpio: mockup: tweak gpio_mockup_event_write()
  gpio: mockup: refuse to accept an odd number of GPIO ranges
  gpio: mockup: improve readability
  gpio: mockup: don't return magic numbers from probe()
  gpio: mockup: improve the error message
  gpio: mockup: add myself as author
  gpio: mockup: use devm_kcalloc() where applicable

 drivers/gpio/gpio-mockup.c | 67 ++++++++++++++++++++++++----------------------
 1 file changed, 35 insertions(+), 32 deletions(-)

-- 
2.9.3

[toc] | [next] | [standalone]


#1662355 — [PATCH v3 2/8] gpio: mockup: tweak gpio_mockup_event_write()

FromBartosz Golaszewski <brgl@bgdev.pl>
Date2017-06-09 13:50 +0200
Subject[PATCH v3 2/8] gpio: mockup: tweak gpio_mockup_event_write()
Message-ID<tQqAs-Yw-61@gated-at.bofh.it>
In reply to#1662352
Invert the logic of the irq_enabled check and only access the private
data after the input is sanitized.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
---
 drivers/gpio/gpio-mockup.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
index da76267..d78e8e0 100644
--- a/drivers/gpio/gpio-mockup.c
+++ b/drivers/gpio/gpio-mockup.c
@@ -210,24 +210,23 @@ static ssize_t gpio_mockup_event_write(struct file *file,
 	struct gpio_chip *gc;
 	int rv, val;
 
-	sfile = file->private_data;
-	priv = sfile->private;
-	desc = priv->desc;
-	chip = priv->chip;
-	gc = &chip->gc;
-
 	rv = kstrtoint_from_user(usr_buf, size, 0, &val);
 	if (rv)
 		return rv;
 	if (val != 0 && val != 1)
 		return -EINVAL;
 
-	if (!chip->lines[priv->offset].irq_enabled)
-		return size;
+	sfile = file->private_data;
+	priv = sfile->private;
+	desc = priv->desc;
+	chip = priv->chip;
+	gc = &chip->gc;
 
-	gpiod_set_value_cansleep(desc, val);
-	priv->chip->irq_ctx.irq = gc->irq_base + priv->offset;
-	irq_work_queue(&priv->chip->irq_ctx.work);
+	if (chip->lines[priv->offset].irq_enabled) {
+		gpiod_set_value_cansleep(desc, val);
+		priv->chip->irq_ctx.irq = gc->irq_base + priv->offset;
+		irq_work_queue(&priv->chip->irq_ctx.work);
+	}
 
 	return size;
 }
-- 
2.9.3

[toc] | [prev] | [next] | [standalone]


#1670367 — Re: [PATCH v3 2/8] gpio: mockup: tweak gpio_mockup_event_write()

FromLinus Walleij <linus.walleij@linaro.org>
Date2017-06-20 09:20 +0200
SubjectRe: [PATCH v3 2/8] gpio: mockup: tweak gpio_mockup_event_write()
Message-ID<tUlCa-5wX-33@gated-at.bofh.it>
In reply to#1662355
On Fri, Jun 9, 2017 at 1:41 PM, Bartosz Golaszewski <brgl@bgdev.pl> wrote:

> Invert the logic of the irq_enabled check and only access the private
> data after the input is sanitized.
>
> Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>

Patch applied.

Yours,
Linus Walleij

[toc] | [prev] | [next] | [standalone]


#1662567

FromAndy Shevchenko <andy.shevchenko@gmail.com>
Date2017-06-09 17:50 +0200
Message-ID<tQukG-3nk-15@gated-at.bofh.it>
In reply to#1662352
On Fri, Jun 9, 2017 at 2:41 PM, Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> v1 -> v2:
> - omit applied patches
> - use kstrtoint_from_user() for debugfs input sanitization
> - add a patch improving the code in gpio_mockup_event_write()
> - bail out from gpio_mockup_event_write() on invalid input even when
>   nobody is listening for events
>
> v2 -> v3:
> - added the patch replacing devm_kzalloc() with devm_kcalloc() where
>   applicable
>

FWIW,
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> Bartosz Golaszewski (8):
>   gpio: mockup: improve the debugfs input sanitization
>   gpio: mockup: tweak gpio_mockup_event_write()
>   gpio: mockup: refuse to accept an odd number of GPIO ranges
>   gpio: mockup: improve readability
>   gpio: mockup: don't return magic numbers from probe()
>   gpio: mockup: improve the error message
>   gpio: mockup: add myself as author
>   gpio: mockup: use devm_kcalloc() where applicable
>
>  drivers/gpio/gpio-mockup.c | 67 ++++++++++++++++++++++++----------------------
>  1 file changed, 35 insertions(+), 32 deletions(-)
>
> --
> 2.9.3
>



-- 
With Best Regards,
Andy Shevchenko

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web