We use these services and cookies to improve your user experience. You may opt out if you wish, however, this may limit some features on this site.
Please see our statement on Data Privacy.
Assigner | Linux |
Reserved | 2024-02-25 |
Published | 2024-04-28 |
Updated | 2024-10-27 |
In the Linux kernel, the following vulnerability has been resolved: gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully When running gpio test on nxp-ls1028 platform with below command gpiomon --num-events=3 --rising-edge gpiochip1 25 There will be a warning trace as below: Call trace: free_irq+0x204/0x360 lineevent_free+0x64/0x70 gpio_ioctl+0x598/0x6a0 __arm64_sys_ioctl+0xb4/0x100 invoke_syscall+0x5c/0x130 ...... el0t_64_sync+0x1a0/0x1a4 The reason of this issue is that calling request_threaded_irq() function failed, and then lineevent_free() is invoked to release the resource. Since the lineevent_state::irq was already set, so the subsequent invocation of free_irq() would trigger the above warning call trace. To fix this issue, set the lineevent_state::irq after the IRQ register successfully.
https://git.kernel.org/stable/c/657803b918e097e47d99d1489da83a603c36bcdd
https://git.kernel.org/stable/c/97da736cd11ae73bdf2f5e21e24446b8349e0168
https://git.kernel.org/stable/c/b1489043d3b9004dd8d5a0357b08b5f0e6691c43
https://git.kernel.org/stable/c/69bef19d6b9700e96285f4b4e28691cda3dcd0d1