Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: RDMA/cxgb4: Fix dereg_skb leak and double free in write_tpt_entry() When the device is in the fatal error state, write_tpt_entry() returns -EIO before handing the caller's preallocated skb to the transmit path; its allocation-failure returns do the same. c4iw_dereg_mr() ignores the error and frees mhp, leaking mhp->dereg_skb. c4iw_get_dma_mr() instead frees the skb a second time after dereg_mem() already consumed it, a double free. Make write_tpt_entry() the sole owner of a non-NULL skb, freeing it on every return preceding handoff to c4iw_ofld_send(): fatal error, tpt and stag allocation failure. c4iw_ofld_send() consumes the skb on success and error alike, so drop the redundant kfree_skb() in c4iw_get_dma_mr() after dereg_mem().
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 0f8ab0b6e91b4d5302ceee5ec12ce54d81297635 before 68c1d2c085f205e8a5338bc3d3304f897deca4d9; affected 0f8ab0b6e91b4d5302ceee5ec12ce54d81297635 before 379cf06e6fe34af980064c6ccaf15d8e26ec4a42; affected 0f8ab0b6e91b4d5302ceee5ec12ce54d81297635 before 2fcd26f4680143e9ec477069530548dbe20fce6f; affected 0f8ab0b6e91b4d5302ceee5ec12ce54d81297635 before 6b15fc9bc117fb6597fa1c2cc30284aafe71101c; affected 0f8ab0b6e91b4d5302ceee5ec12ce54d81297635 before 373f3716a2de7adc739269ebb4d87e5bf4dc180c |
| Linux / Linux | affected 4.8; unaffected 0 before 4.8; unaffected 6.6.160 through 6.6.*; unaffected 6.12.114 through 6.12.*; unaffected 6.18.57 through 6.18.*; unaffected 7.2.6 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/68c1d2c085f205e8a5338bc3d3304f897deca4d9
- https://git.kernel.org/stable/c/379cf06e6fe34af980064c6ccaf15d8e26ec4a42
- https://git.kernel.org/stable/c/2fcd26f4680143e9ec477069530548dbe20fce6f
- https://git.kernel.org/stable/c/6b15fc9bc117fb6597fa1c2cc30284aafe71101c
- https://git.kernel.org/stable/c/373f3716a2de7adc739269ebb4d87e5bf4dc180c