[PATCH 13/18] gpio: mockup: verify that ngpio > 0

From: Bartosz Golaszewski
Date: Mon Nov 27 2017 - 05:51:40 EST


Improve the module params sanitization: bail out from init if the user
tries to pass a non-positive number of GPIO lines for any mockup chip.

Signed-off-by: Bartosz Golaszewski <brgl@xxxxxxxx>
---
drivers/gpio/gpio-mockup.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
index 68a0c1e06a16..532f5807390b 100644
--- a/drivers/gpio/gpio-mockup.c
+++ b/drivers/gpio/gpio-mockup.c
@@ -335,6 +335,15 @@ static int __init gpio_mockup_init(void)
/* Each chip is described by two values. */
num_chips = gpio_mockup_params_nr / 2;

+ /*
+ * The second value in the <base GPIO - number of GPIOS> pair must
+ * always be greater than 0.
+ */
+ for (i = 0; i < num_chips; i++) {
+ if (gpio_mockup_ranges[i * 2 + 1] < 0)
+ return -EINVAL;
+ }
+
gpio_mockup_dbg_dir = debugfs_create_dir("gpio-mockup-event", NULL);
if (IS_ERR_OR_NULL(gpio_mockup_dbg_dir))
gpio_mockup_err("error creating debugfs directory\n");
--
2.15.0