Linux · Linux Kernel · CVE-2024-56625
**Name of the Vulnerable Software and Affected Versions**
Linux kernel versions prior to 6.6.74
**Description**
A vulnerability in the Linux kernel has been resolved, related to the `can set termination()` function, which allows sleeping GPIOs. The issue arose from the use of `gpiod set value()` to set the GPIO, leading to a warning when the system uses a sleeping GPIO, such as one behind an I2C port expander. The warning occurs at `/drivers/gpio/gpiolib.c:3496` in the `gpiod set value+0x50/0x6c` function. The fix involves replacing `gpiod set value()` with `gpiod set value cansleep()` to allow the use of sleeping GPIOs.
**Recommendations**
For Linux kernel versions prior to 6.6.74, update to version 6.6.74 or later to resolve the issue. As a temporary workaround, consider replacing `gpiod set value()` with `gpiod set value cansleep()` in the affected code to allow the use of sleeping GPIOs.