]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Aug 2024 13:34:05 +0000 (15:34 +0200)
commitd776c0486b03a5c4afca65b8ff44573592bf93bb
tree14f904ad14c03c0b7098cc83ad23c2d55d15119a
parent9a3f1490f9b2b7b4d484d032dd0f13296ad59e08
gpio: prevent potential speculation leaks in gpio_device_get_desc()

[ Upstream commit d795848ecce24a75dfd46481aee066ae6fe39775 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpiolib.c