• Arnd Bergmann's avatar
    gpiolib: avoid uninitialized data in gpio kfifo · bc0207a5
    Arnd Bergmann authored
    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: default avatarArnd Bergmann <arnd@arndb.de>
    Fixes: 61f922db ("gpio: userspace ABI for reading GPIO line events")
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    bc0207a5
gpiolib.c 94.3 KB