]> www.infradead.org Git - users/jedix/linux-maple.git/commit
gpio: prevent potential speculation leaks in gpio_device_get_desc()
authorHagar Hemdan <hagarhem@amazon.com>
Thu, 23 May 2024 08:53:32 +0000 (08:53 +0000)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 27 May 2024 14:51:20 +0000 (16:51 +0200)
commitd795848ecce24a75dfd46481aee066ae6fe39775
tree55a313712dc298e335c10a2ba35f162a0f6e3659
parent447e140e66fd226350b3ce86cffc965eaae4c856
gpio: prevent potential speculation leaks in gpio_device_get_desc()

Userspace may trigger a speculative read of an address outside the gpio
descriptor array.
Users can do that by calling gpio_ioctl() with an offset out of range.
Offset is copied from user and then used as an array index to get
the gpio descriptor without sanitization in gpio_device_get_desc().

This change ensures that the offset is sanitized by using
array_index_nospec() to mitigate any possibility of speculative
information leaks.

This bug was discovered and resolved using Coverity Static Analysis
Security Testing (SAST) by Synopsys, Inc.

Signed-off-by: Hagar Hemdan <hagarhem@amazon.com>
Link: https://lore.kernel.org/r/20240523085332.1801-1-hagarhem@amazon.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
drivers/gpio/gpiolib.c