In the Linux kernel, the following vulnerability has been resolved:
slimbus: messaging: Free transaction ID in delayed interrupt scenario
In case of interrupt delay for any reason, slimdotransfer() returns timeout error but the transaction ID (TID) is not freed. This results into invalid memory access inside qcomslimngdrxmsgq_cb() due to invalid TID.
Fix the issue by freeing the TID in slimdotransfer() before returning timeout error to avoid invalid memory access.
Call trace: _memcpyfromio+0x20/0x190 qcomslimngdrxmsgqcb+0x130/0x290 [slimqcomngdctrl] vchancomplete+0x2a0/0x4a0 taskletactioncommon+0x274/0x700 taskletaction+0x28/0x3c stext+0x188/0x620 runksoftirqd+0x34/0x74 smpbootthreadfn+0x1d8/0x464 kthread+0x178/0x238 retfromfork+0x10/0x20 Code: aa0003e8 91000429 f100044a 3940002b (3800150b) ---[ end trace 0fe00bec2b975c99 ]--- Kernel panic - not syncing: Oops: Fatal exception in interrupt.