[4.2.y-ckt stable] Patch "gpiolib: do not allow to insert an empty gpiochip" has been added to the 4.2.y-ckt tree

Kamal Mostafa kamal at canonical.com
Mon Mar 28 19:04:07 UTC 2016


This is a note to let you know that I have just added a patch titled

    gpiolib: do not allow to insert an empty gpiochip

to the linux-4.2.y-queue branch of the 4.2.y-ckt extended stable tree 
which can be found at:

    http://kernel.ubuntu.com/git/ubuntu/linux.git/log/?h=linux-4.2.y-queue

This patch is scheduled to be released in version 4.2.8-ckt7.

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 4.2.y-ckt tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

Thanks.
-Kamal

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

>From 31d98a9aaaa7d359e78259ce76eabba55f78df11 Mon Sep 17 00:00:00 2001
From: Bamvor Jian Zhang <bamvor.zhangjian at linaro.org>
Date: Mon, 16 Nov 2015 13:02:47 +0800
Subject: gpiolib: do not allow to insert an empty gpiochip

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 at linaro.org>
Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
[ kamal: 4.2-stable prereq ]
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
 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





More information about the kernel-team mailing list