CVE Catalog

CVE-2026-97477

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel (RDMA/counter) there is a leak of the num_counters variable in alloc_and_bind() when __rdma_counter_bind_qp() fails. The error path does not decrement num_counters, which, after repeated failures, can permanently prevent the port from switching to AUTO mode (-EBUSY) and block the MANUAL→NONE auto-revert.

Risk Assessment

Repeated failed binding attempts can permanently impair the port's mode, disrupting RDMA functionality and causing resource issues.

Recommendation

Apply a kernel patch that adds an err_bind label to decrement num_counters and restore the MANUAL→NONE revert, fully recovering the port state after a bind failure.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS