CVE-2026-74386

nvmet-tcp: fix page fragment cache leak in error path

State
Published
Severity
Not scored
Published
Aug 15, 2026
Updated
Oct 30, 2026
Reserved
Aug 15, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

nvmet-tcp: fix page fragment cache leak in error path

In nvmet_tcp_alloc_queue(), when a connection is closed during the allocation process (e.g., nvmet_tcp_set_queue_sock() returns -ENOTCONN), the error handling jumps to out_destroy_sq and then to out_ida_remove without draining the page fragment cache.

Although nvmet_tcp_free_cmd() is called in some error paths to release individual page fragments, the underlying page cache reference held by queue->pf_cache is never released. The first allocation using pf_cache is the call to nvmet_tcp_alloc_cmd() for queue->connect, which happens after ida_alloc() returns successfully. This results in a page leak each time a connection fails during allocation, which could lead to memory exhaustion over time if connections are repeatedly opened and closed.

Fix this by calling page_frag_cache_drain() before freeing the queue structure in the out_ida_remove label.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 872d26a391da92ed8f0c0f5cb5fef428067b7f30 to before aadb8eb9006e192c51b499860f40765de7d55680Affected
  • 872d26a391da92ed8f0c0f5cb5fef428067b7f30 to before fc11e3f0daaadb6e600a86e54b089d4662d0a464Affected
  • 872d26a391da92ed8f0c0f5cb5fef428067b7f30 to before a43a9abc1ebf663f0aa56a729106f68dd9c77da6Affected
  • 872d26a391da92ed8f0c0f5cb5fef428067b7f30 to before ba3209704b3cd46961e4e081af5c52a780785648Affected
  • 872d26a391da92ed8f0c0f5cb5fef428067b7f30 to before 5fbe83a374f09561a0f0c1f4aa021501ffd681ebAffected
  • 872d26a391da92ed8f0c0f5cb5fef428067b7f30 to before 4dae393956093c807212918fd91a8fc70df15338Affected
LinuxLinux
  • 5.0Affected
  • before 5.0Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.97 through 6.12.*Not affected
  • 6.18.40 through 6.18.*Not affected
  • 7.1.5 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.