Dismissed
(max. allowed matches exceeded)
Activity log
- Created & dismissed (max. allowed matches exceeded) suggestion
rapidio: mport_cdev: fix use-after-free in dma_req_free()
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.
References
Affected products
Linux
- =<*
- <9a9929ec875ff20922c90c96fd544ae8a2a61a8d
- =<7.2.*
- <4.6
- <5cbef379a94b161726c5f504598bf4791d45cedc
- =<6.18.*
- <211c68d817a3d9dc14c0026a59da7cac30f8147e
- =<6.12.*
- <e6e925cc1f8067c65c7bec3da50a0ead3b3ef4e0
- ==4.6