Description
In the Linux kernel, the following vulnerability has been resolved: RDMA/erdma: Hold CQ references when processing EQ events EQ handlers look up CQs from dev->cq_xa and invoke CQ completion or error callbacks outside the xarray lock. erdma_destroy_cq() can erase the CQ from the xarray and free its queue buffer and doorbell record while a previously scheduled EQ handler is still using the CQ. Add a CQ refcount and take a reference under the xarray lock with refcount_inc_not_zero(). Remove the CQ from the xarray before dropping the destroy-path reference, then wait for in-flight EQ users before releasing CQ resources.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
155055771704f8cbb5c176a4309b7dc30a50450c to < 610ef81797bb4f709e8675c1d8d093bb9ccdcbd8affected155055771704f8cbb5c176a4309b7dc30a50450c to < c0a83f29a24c7e7f8516630848ef6db4c174deedaffected155055771704f8cbb5c176a4309b7dc30a50450c to < 05b8ca493dd02319bca93c640b259c2ba51ef321affected155055771704f8cbb5c176a4309b7dc30a50450c to < 1fc9c1933959d2776a1ce7bf424251b8b5b586cdaffected155055771704f8cbb5c176a4309b7dc30a50450c to < 4545f355654d044d35a31cd01cc46f491a8a7c36affected155055771704f8cbb5c176a4309b7dc30a50450c to < 98df2aee1459ee1c62c70cbe9b370d2a532aea36affected
Linux Linux
Default version status: affected
6.0affected0 to < 6.0unaffected6.1.188 to ≤ 6.1.*unaffected6.6.157 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/610ef81797bb4f709e8675c1d8d093bb9ccdcbd8 ↗
- https://git.kernel.org/stable/c/c0a83f29a24c7e7f8516630848ef6db4c174deed ↗
- https://git.kernel.org/stable/c/05b8ca493dd02319bca93c640b259c2ba51ef321 ↗
- https://git.kernel.org/stable/c/1fc9c1933959d2776a1ce7bf424251b8b5b586cd ↗
- https://git.kernel.org/stable/c/4545f355654d044d35a31cd01cc46f491a8a7c36 ↗
- https://git.kernel.org/stable/c/98df2aee1459ee1c62c70cbe9b370d2a532aea36 ↗