In the Linux kernel, the following vulnerability has been resolved: rapidio: mport_cdev: fix use-after-free in dma_req_free() dma_req_free() acquires buf_mutex through req->map, drops the mapping reference with kref_put(), and then dereferences req->map again to unlock the mutex. If kref_put() drops the last reference, mport_release_mapping() frees the mapping, and the subsequent mutex_unlock() dereferences a freed object. This is a use-after-free. Fix this by caching map and md before kref_put(), clearing req->map while holding buf_mutex, and using the cached md for mutex unlocking. The bug is reachable from userspace via the RapidIO mport character device interface.
https://git.kernel.org/stable/c/e6e925cc1f8067c65c7bec3da50a0ead3b3ef4e0
https://git.kernel.org/stable/c/9a9929ec875ff20922c90c96fd544ae8a2a61a8d
https://git.kernel.org/stable/c/5cbef379a94b161726c5f504598bf4791d45cedc
https://git.kernel.org/stable/c/211c68d817a3d9dc14c0026a59da7cac30f8147e