Re: [PATCH] gpio: Fix kernel stack leak to userspace

From
Bartosz Golaszewski <hidden>
Date
2018-01-22 12:23:37
Also in
linux-gpio
Reply to
Linus Walleij, 2018-01-22
2018-01-22 13:21 GMT+01:00 Linus Walleij [off-list ref]:
quoted hunk ↗ jump to hunk
The GPIO event descriptor was leaking kernel stack to
userspace because we don't zero the variable before
use. Ooops. Fix this.

Cc: <redacted>
Cc: Bartosz Golaszewski <redacted>
Cc: Arnd Bergmann <arnd@arndb.de>
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <redacted>
---
 drivers/gpio/gpiolib.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 37e31ba82ca0..754836e4ca0e 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -744,6 +744,9 @@ static irqreturn_t lineevent_irq_thread(int irq, void *p)
        struct gpioevent_data ge;
        int ret, level;

+       /* Do not leak kernel stack to userspace */
+       memset(&ge, 0, sizeof(ge));
+
        ge.timestamp = ktime_get_real_ns();
        level = gpiod_get_value_cansleep(le->desc);

--
2.14.3
Reviewed-by: Bartosz Golaszewski <redacted>
Thread (3 messages) 3 messages, 3 authors, last reply 2018-01-22
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help