CVE-2026-46176

Summary

In the Linux kernel, the following vulnerability has been resolved:

RDMA/mlx5: Fix error path fall-through in mlx5_ib_dev_res_srq_init()

mlx5_ib_dev_res_srq_init() allocates two SRQs, s0 and s1. When ib_create_srq() fails for s1, the error branch destroys s0 but falls through and unconditionally assigns the freed s0 and the ERR_PTR s1 to devr->s0 and devr->s1.

This leads to several problems: the lock-free fast path checks "if (devr->s1) return 0;" and treats the ERR_PTR as already initialised; users in mlx5_ib_create_qp() dereference the freed SRQ or ERR_PTR via to_msrq(devr->s0)->msrq.srqn; and mlx5_ib_dev_res_cleanup() dereferences the ERR_PTR and double-frees s0 on teardown.

Fix by adding the same goto unlock in the s1 failure path.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxb6334d2356fc0922ed01457960f74923058a353a < a13c2ac4d480b734342c6fbf8249fc48afd675f3affected
LinuxLinux5895e70f2e6e8dc67b551ca554d6fcde0a7f0467 < bc2cf5935b4665172235341163315905197ae91daffected
LinuxLinux5895e70f2e6e8dc67b551ca554d6fcde0a7f0467 < b087913ae88256df66620f7ba0a9776716aeef7eaffected
LinuxLinux5895e70f2e6e8dc67b551ca554d6fcde0a7f0467 < 6fd93142dd1d09000c3750af08270f5792523fe9affected
LinuxLinux5895e70f2e6e8dc67b551ca554d6fcde0a7f0467 < c488df06bd552bb8b6e14fa0cfd5ad986c6e9525affected
LinuxLinux6.6.64 < 6.6.140affected
LinuxLinux6.11affected
LinuxLinux0 < 6.11unaffected
LinuxLinux6.6.140 <= 6.6.*unaffected
LinuxLinux6.12.88 <= 6.12.*unaffected
LinuxLinux6.18.30 <= 6.18.*unaffected
LinuxLinux7.0.7 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

ADP Enrichment

kernel: RDMA/mlx5: Fix error path fall-through in mlx5_ib_dev_res_srq_init()

Additional References

References