diff options
author | Keith Busch <keith.busch@intel.com> | 2015-10-15 13:38:48 -0600 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-11-09 14:33:39 -0800 |
commit | a1638a11d9fb9457a8a5a9cc1a00e59ca56c8fe3 (patch) | |
tree | 518a327ed09f6688295d77d1bbe00dac410bcd80 /lib/cpu-notifier-error-inject.c | |
parent | 599f528a90026dd61533aa5145e64cc0ac3625ae (diff) |
NVMe: Fix memory leak on retried commands
commit 0dfc70c33409afc232ef0b9ec210535dfbf9bc61 upstream.
Resources are reallocated for requeued commands, so unmap and release
the iod for the failed command.
It's a pretty bad memory leak and causes a kernel hang if you remove a
drive because of a busy dma pool. You'll get messages spewing like this:
nvme 0000:xx:xx.x: dma_pool_destroy prp list 256, ffff880420dec000 busy
and lock up pci and the driver since removal never completes while
holding a lock.
Signed-off-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'lib/cpu-notifier-error-inject.c')
0 files changed, 0 insertions, 0 deletions