diff options
| author | Guixin Liu <kanie@linux.alibaba.com> | 2026-08-04 10:18:59 +0800 |
|---|---|---|
| committer | Keith Busch <kbusch@kernel.org> | 2026-08-10 12:25:55 -0700 |
| commit | cb144c2f67128abfa5c7ba33318617d19f192156 (patch) | |
| tree | 8da71c15e3d0c5116bc539e646362a9c02e17b5a /tools/perf/scripts/python/bin/task-analyzer-record | |
| parent | 751709592d2626eaa8dc17ef8137796758a3c37f (diff) | |
nvme-pci: release descriptor pools on probe failure
The per-NUMA-node descriptor DMA pools are created lazily from
nvme_init_hctx_common() once the admin tag set is allocated, but they are
only destroyed in nvme_remove() via nvme_release_descriptor_pools(). Any
probe failure after the admin tag set has been allocated unwinds through
the out_disable label and nvme_pci_free_ctrl(), neither of which releases
the pools, leaking the dma_pool objects.
Release the descriptor pools in the out_disable error path. It must not
be added to nvme_pci_free_ctrl(), as that would double-free against
nvme_remove() on the normal teardown path.
Fixes: d977506f8863 ("nvme-pci: make PRP list DMA pools per-NUMA-node")
Signed-off-by: Guixin Liu <kanie@linux.alibaba.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Kanchan Joshi <joshi.k@samsung.com>
Reviewed-by: Nilay Shroff <nilay@linux.ibm.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/task-analyzer-record')
0 files changed, 0 insertions, 0 deletions
