[PATCH 4.2.y-ckt 005/218] gpiolib: do not allow to insert an empty gpiochip

From: Kamal Mostafa
Date: Thu Mar 31 2016 - 17:27:59 EST


4.2.8-ckt7 -stable review patch. If anyone has any objections, please let me know.

---8<------------------------------------------------------------

From: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx>

commit 5ed41cc4baaf4127661d2a8f8f2ee6e3085e0fa9 upstream.

We need to check if number of gpio is positive if there is no
such check in devicetree or acpi or whatever called before
gpiochip_add.

I suppose that devicetree and acpi do not allow insert gpiochip
with zero number but I do not know if it is enough to ignore
this check in gpiochip_add.

Signed-off-by: Bamvor Jian Zhang <bamvor.zhangjian@xxxxxxxxxx>
Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
[ kamal: 4.2-stable prereq ]
Signed-off-by: Kamal Mostafa <kamal@xxxxxxxxxxxxx>
---
drivers/gpio/gpiolib.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index bf4bd1d..3144d19 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -247,6 +247,11 @@ int gpiochip_add(struct gpio_chip *chip)
if (!descs)
return -ENOMEM;

+ if (chip->ngpio == 0) {
+ chip_err(chip, "tried to insert a GPIO chip with zero lines\n");
+ return -EINVAL;
+ }
+
spin_lock_irqsave(&gpio_lock, flags);

if (base < 0) {
--
2.7.4