Description
In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx4: Fix mis-use of RCU in mlx4_srq_event() Sashiko points out the radix_tree itself is RCU safe, but nothing ever frees the mlx4_srq struct with RCU, and it isn't even accessed within the RCU critical section. It also will crash if an event is delivered before the srq object is finished initializing. Use the spinlock since it isn't easy to make RCU work, use refcount_inc_not_zero() to protect against partially initialized objects, and order the refcount_set() to be after the srq is fully initialized.
Product status
30353bfc43a1602c020f31d95cf27182ffd23824 (git) before 1e2a44875b6afb4add1115f7f3351dcbeb6f273d
30353bfc43a1602c020f31d95cf27182ffd23824 (git) before 8b7833f3bce35cb0d01c1503781523c099c675f0
30353bfc43a1602c020f31d95cf27182ffd23824 (git) before c9341307ea16b9395c2e4c9c94d8499d91fe31d0
4.9
Any version before 4.9
6.18.30 (semver)
7.0.7 (semver)
7.1-rc3 (original_commit_for_fix)
References
git.kernel.org/...c/1e2a44875b6afb4add1115f7f3351dcbeb6f273d
git.kernel.org/...c/8b7833f3bce35cb0d01c1503781523c099c675f0
git.kernel.org/...c/c9341307ea16b9395c2e4c9c94d8499d91fe31d0