Re: [PATCH] gpiolib: avoid uninitialized data in gpio kfifo

From: Linus Walleij
Date: Thu Jun 16 2016 - 06:00:58 EST


On Thu, Jun 16, 2016 at 11:02 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:

> gcc reports a theoretical case for returning uninitialized data in
> the kfifo when a GPIO interrupt happens and neither
> GPIOEVENT_REQUEST_RISING_EDGE nor GPIOEVENT_REQUEST_FALLING_EDGE
> are set:
>
> drivers/gpio/gpiolib.c: In function 'lineevent_irq_thread':
> drivers/gpio/gpiolib.c:683:87: error: 'ge.id' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>
> This case should not happen, but to be on the safe side, let's
> return from the irq handler without adding data to the FIFO
> to ensure we can never leak stack data to user space.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Fixes: 61f922db7221 ("gpio: userspace ABI for reading GPIO line events")

Patch applied, good catch, thanks!

Yours,
Linus Walleij