Description
In the Linux kernel, the following vulnerability has been resolved: RDMA/counter: Fix num_counters leak on bind_qp failure in alloc_and_bind() When __rdma_counter_bind_qp() fails in alloc_and_bind(), the error path jumps to err_mode which frees the counter without decrementing port_counter->num_counters. The only place that decrements is rdma_counter_free(), which is unreachable since the counter was never successfully bound. This leak accumulates across repeated failures, permanently preventing the port from switching to AUTO mode (-EBUSY in __counter_set_mode()) and blocking the MANUAL→NONE auto-revert in rdma_counter_free(). When the mode was NONE before the call, the MANUAL mode set by __counter_set_mode() also leaks since the revert logic is never reached. Add an err_bind label between the num_counters increment and the existing err_mode label. It decrements num_counters and mirrors the MANUAL→NONE revert from rdma_counter_free(), ensuring the port state is fully restored on bind failure.
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
8bc205eff3056a9ed3850937cdd2192f05e6d3cb to < 7c9fee40fc8d8d928f44e99bc6e6adf93f9f2c2aaffected8bc205eff3056a9ed3850937cdd2192f05e6d3cb to < 1bcdeddddffadff9993657f6b0e5535d66ebd10faffected8bc205eff3056a9ed3850937cdd2192f05e6d3cb to < da95cb016812c0e012ea839f191926e35ca8f57faffected8bc205eff3056a9ed3850937cdd2192f05e6d3cb to < 4fbc8230009f5b1bcd13cc74c5a6a43ddba141fdaffected
Linux Linux
Default version status: affected
5.11affected0 to < 5.11unaffected6.6.160 to ≤ 6.6.*unaffected6.12.114 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2 to ≤ *unaffected