CVE Catalog

CVE-2021-47130

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.64%

47th percentile - higher than 47% of all known CVEs

Summary

In the Linux kernel's NVMe over Fabrics (nvmet) subsystem, there is a bug where it attempts to free p2p memory that was not allocated from the p2p pool. When a p2p device is found but the pool is empty, the NVMe target tries to free the SGL from the p2p pool instead of the regular pool, causing a crash (BUG). The fix assigns p2p_dev only if the memory was actually allocated from the p2p pool.

Risk Assessment

The bug can lead to a kernel panic in environments using NVMe over Fabrics with p2p memory, causing service disruption.

Recommendation

Install an updated Linux kernel with the fix. If using NVMe over Fabrics with p2p, ensure the p2p pool configuration is correct.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: nvmet: fix freeing unallocated p2pmem In case p2p device was found but the p2p pool is empty, the nvme target is still trying to free the sgl from the p2p pool instead of the regular sgl pool and causing a crash (BUG() is called). Instead, assign the p2p_dev for the request only if it was allocated from p2p pool. This is the crash that was caused: [Sun May 30 19:13:53 2021] ------------[ cut here ]------------ [Sun May 30 19:13:53 2021] kernel BUG at lib/genalloc.c:518! [Sun May 30 19:13:53 2021] invalid opcode: 0000 [#1] SMP PTI ... [Sun May 30 19:13:53 2021] kernel BUG at lib/genalloc.c:518! ... [Sun May 30 19:13:53 2021] RIP: 0010:gen_pool_free_owner+0xa8/0xb0 ... [Sun May 30 19:13:53 2021] Call Trace: [Sun May 30 19:13:53 2021] ------------[ cut here ]------------ [Sun May 30 19:13:53 2021] pci_free_p2pmem+0x2b/0x70 [Sun May 30 19:13:53 2021] pci_p2pmem_free_sgl+0x4f/0x80 [Sun May 30 19:13:53 2021] nvmet_req_free_sgls+0x1e/0x80 [nvmet] [Sun May 30 19:13:53 2021] kernel BUG at lib/genalloc.c:518! [Sun May 30 19:13:53 2021] nvmet_rdma_release_rsp+0x4e/0x1f0 [nvmet_rdma] [Sun May 30 19:13:53 2021] nvmet_rdma_send_done+0x1c/0x60 [nvmet_rdma]

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