Description
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 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
0f8ab0b6e91b4d5302ceee5ec12ce54d81297635 to < 26c6e9bc0b907b880c5d8486291f0452c8227fbeaffected0f8ab0b6e91b4d5302ceee5ec12ce54d81297635 to < 68c1d2c085f205e8a5338bc3d3304f897deca4d9affected0f8ab0b6e91b4d5302ceee5ec12ce54d81297635 to < 379cf06e6fe34af980064c6ccaf15d8e26ec4a42affected0f8ab0b6e91b4d5302ceee5ec12ce54d81297635 to < 2fcd26f4680143e9ec477069530548dbe20fce6faffected0f8ab0b6e91b4d5302ceee5ec12ce54d81297635 to < 6b15fc9bc117fb6597fa1c2cc30284aafe71101caffected0f8ab0b6e91b4d5302ceee5ec12ce54d81297635 to < 373f3716a2de7adc739269ebb4d87e5bf4dc180caffected
Linux Linux
Default version status: affected
4.8affected0 to < 4.8unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.114 to ≤ 6.12.*unaffected6.18.57 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/26c6e9bc0b907b880c5d8486291f0452c8227fbe ↗
- 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 ↗