CVE-2024-49961: media: i2c: ar0521: Use cansleep version of gpiod_set_value()
In the Linux kernel, the following vulnerability has been resolved:
media: i2c: ar0521: Use cansleep version of gpiodsetvalue()
If we use GPIO reset from I2C port expander, we must use cansleep() variant of GPIO functions. This was not done in ar0521poweron()/ar0521poweroff() functions. Let's fix that.
------------[ cut here ]------------ WARNING: CPU: 0 PID: 11 at drivers/gpio/gpiolib.c:3496 gpiodsetvalue+0x74/0x7c Modules linked in: CPU: 0 PID: 11 Comm: kworker/u16:0 Not tainted 6.10.0 #53 Hardware name: Diasom DS-RK3568-SOM-EVB (DT) Workqueue: eventsunbound deferredprobeworkfunc pstate: 80400009 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : gpiodsetvalue+0x74/0x7c lr : ar0521poweron+0xcc/0x290 sp : ffffff8001d7ab70 x29: ffffff8001d7ab70 x28: ffffff80027dcc90 x27: ffffff8003c82000 x26: ffffff8003ca9250 x25: ffffffc080a39c60 x24: ffffff8003ca9088 x23: ffffff8002402720 x22: ffffff8003ca9080 x21: ffffff8003ca9088 x20: 0000000000000000 x19: ffffff8001eb2a00 x18: ffffff80efeeac80 x17: 756d2d6332692f30 x16: 0000000000000000 x15: 0000000000000000 x14: ffffff8001d91d40 x13: 0000000000000016 x12: ffffffc080e98930 x11: ffffff8001eb2880 x10: 0000000000000890 x9 : ffffff8001d7a9f0 x8 : ffffff8001d92570 x7 : ffffff80efeeac80 x6 : 000000003fc6e780 x5 : ffffff8001d91c80 x4 : 0000000000000002 x3 : 0000000000000000 x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000001 Call trace: gpiodsetvalue+0x74/0x7c ar0521poweron+0xcc/0x290 ...
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-49961?
CVE-2024-49961 has been classified as a medium-severity vulnerability in the Linux kernel.
What versions of the Linux kernel are affected by CVE-2024-49961?
CVE-2024-49961 affects multiple versions of the Linux kernel, specifically those between 6.0 and 6.1.113, 6.2 and 6.6.55, 6.7 and 6.10.14, and 6.11 and 6.11.3.
How do I fix CVE-2024-49961?
To fix CVE-2024-49961, update your Linux kernel to a version that addresses the vulnerability.
What is the cause of CVE-2024-49961?
CVE-2024-49961 is caused by the improper usage of GPIO functions without the *_cansleep() variant in the ar0521 driver.
What impact does CVE-2024-49961 have on system security?
The impact of CVE-2024-49961 can potentially lead to a failure in the correct operation of device resets, affecting system stability and security.