UBUNTU-CVE-2026-46176
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.
02 / AFFECTED SOFTWARE
Affected packages
52 explicit affected versions
1 explicit affected versions
21 explicit affected versions
7 explicit affected versions
12 explicit affected versions
12 explicit affected versions
10 explicit affected versions
12 explicit affected versions
12 explicit affected versions
10 explicit affected versions
37 explicit affected versions
44 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
10 explicit affected versions
37 explicit affected versions
10 explicit affected versions
11 explicit affected versions
13 explicit affected versions
13 explicit affected versions
29 explicit affected versions
13 explicit affected versions
12 explicit affected versions
41 explicit affected versions
50 explicit affected versions
10 explicit affected versions
3 explicit affected versions
10 explicit affected versions
20 explicit affected versions
5 explicit affected versions
10 explicit affected versions
7 explicit affected versions
15 explicit affected versions
51 explicit affected versions
46 explicit affected versions
13 explicit affected versions
13 explicit affected versions
46 explicit affected versions
16 explicit affected versions
18 explicit affected versions
14 explicit affected versions
6 explicit affected versions
7 explicit affected versions
4 explicit affected versions
10 explicit affected versions
1 explicit affected versions
7 explicit affected versions
13 explicit affected versions
43 explicit affected versions
14 explicit affected versions
4 explicit affected versions
11 explicit affected versions
4 explicit affected versions
50 explicit affected versions
6 explicit affected versions
11 explicit affected versions
10 explicit affected versions
7 explicit affected versions
7 explicit affected versions
19 explicit affected versions
10 explicit affected versions
6 explicit affected versions
24 explicit affected versions
2 explicit affected versions
26 explicit affected versions
7 explicit affected versions
40 explicit affected versions
13 explicit affected versions
8 explicit affected versions
35 explicit affected versions
1 explicit affected versions
18 explicit affected versions
1 explicit affected versions
45 explicit affected versions
12 explicit affected versions
7 explicit affected versions
16 explicit affected versions
10 explicit affected versions
20 explicit affected versions
7 explicit affected versions
48 explicit affected versions
14 explicit affected versions
10 explicit affected versions
1 explicit affected versions
7 explicit affected versions
17 explicit affected versions
41 explicit affected versions
9 explicit affected versions
9 explicit affected versions
16 explicit affected versions
6 explicit affected versions
17 explicit affected versions
27 explicit affected versions
34 explicit affected versions
39 explicit affected versions
3 explicit affected versions
10 explicit affected versions
11 explicit affected versions
26 explicit affected versions
10 explicit affected versions
17 explicit affected versions
40 explicit affected versions
8 explicit affected versions
33 explicit affected versions
23 explicit affected versions
11 explicit affected versions
19 explicit affected versions
11 explicit affected versions
5 explicit affected versions
12 explicit affected versions
11 explicit affected versions
7 explicit affected versions
12 explicit affected versions
10 explicit affected versions
16 explicit affected versions
10 explicit affected versions
26 explicit affected versions
39 explicit affected versions
35 explicit affected versions
48 explicit affected versions
6 explicit affected versions
16 explicit affected versions
18 explicit affected versions
43 explicit affected versions
12 explicit affected versions
7 explicit affected versions
27 explicit affected versions
3 explicit affected versions
8 explicit affected versions
43 explicit affected versions
8 explicit affected versions
3 explicit affected versions
5 explicit affected versions
8 explicit affected versions
13 explicit affected versions
7 explicit affected versions
8 explicit affected versions
10 explicit affected versions
12 explicit affected versions
26 explicit affected versions
9 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
45 explicit affected versions
37 explicit affected versions
50 explicit affected versions
14 explicit affected versions
38 explicit affected versions
9 explicit affected versions
17 explicit affected versions
11 explicit affected versions
39 explicit affected versions
16 explicit affected versions
10 explicit affected versions
8 explicit affected versions
45 explicit affected versions
78 explicit affected versions
14 explicit affected versions
11 explicit affected versions
1 explicit affected versions
19 explicit affected versions
6 explicit affected versions
39 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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.
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/c488df06bd552bb8b6e14fa0cfd5ad986c6e9525
- https://git.kernel.org/stable/c/6fd93142dd1d09000c3750af08270f5792523fe9
- https://git.kernel.org/stable/c/a13c2ac4d480b734342c6fbf8249fc48afd675f3
- https://git.kernel.org/stable/c/b087913ae88256df66620f7ba0a9776716aeef7e
- https://git.kernel.org/stable/c/bc2cf5935b4665172235341163315905197ae91d
- https://git.kernel.org/stable/c/c488df06bd552bb8b6e14fa0cfd5ad986c6e9525
- https://ubuntu.com/security/CVE-2026-46176
- https://ubuntu.com/security/notices/USN-8566-1
- https://ubuntu.com/security/notices/USN-8567-1
- https://ubuntu.com/security/notices/USN-8568-1
- https://ubuntu.com/security/notices/USN-8569-1
- https://ubuntu.com/security/notices/USN-8574-1
- https://ubuntu.com/security/notices/USN-8574-2
- https://ubuntu.com/security/notices/USN-8574-3
- https://ubuntu.com/security/notices/USN-8593-1
- https://ubuntu.com/security/notices/USN-8595-1
- https://ubuntu.com/security/notices/USN-8595-2
- https://ubuntu.com/security/notices/USN-8595-3
- https://ubuntu.com/security/notices/USN-8596-1
- https://ubuntu.com/security/notices/USN-8603-1
- https://ubuntu.com/security/notices/USN-8606-1
- https://ubuntu.com/security/notices/USN-8607-1
- https://ubuntu.com/security/notices/USN-8608-1
- https://ubuntu.com/security/notices/USN-8609-1
- https://ubuntu.com/security/notices/USN-8618-1
- https://ubuntu.com/security/notices/USN-8619-1
- https://www.cve.org/CVERecord?id=CVE-2026-46176