diff options
author | Nicholas Bellinger <nab@linux-iscsi.org> | 2014-06-17 22:23:03 +0000 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2014-06-26 20:56:49 -0700 |
commit | b43f1886e4d3ea3f68665eaea96526ccdd53741d (patch) | |
tree | 09b7cedc3ea62bd601987ad5172051d349d32c9d /drivers/target/loopback | |
parent | 683497566d48f86e04d026de1ee658dd74fc1077 (diff) | |
download | linux-b43f1886e4d3ea3f68665eaea96526ccdd53741d.tar.gz linux-b43f1886e4d3ea3f68665eaea96526ccdd53741d.tar.bz2 linux-b43f1886e4d3ea3f68665eaea96526ccdd53741d.zip |
tcm_loop: Fix memory leak in tcm_loop_submission_work error path
This patch fixes a tcm_loop_cmd descriptor memory leak in the
tcm_loop_submission_work() error path, and would result in
warnings about leaked tcm_loop_cmd_cache objects at module
unload time.
Go ahead and invoke kmem_cache_free() to release tl_cmd back to
tcm_loop_cmd_cache before calling sc->scsi_done().
Reported-by: Sebastian Herbszt <herbszt@gmx.de>
Tested-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/loopback')
-rw-r--r-- | drivers/target/loopback/tcm_loop.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c index 6d2f37578b29..8c64b8776a96 100644 --- a/drivers/target/loopback/tcm_loop.c +++ b/drivers/target/loopback/tcm_loop.c @@ -239,6 +239,7 @@ static void tcm_loop_submission_work(struct work_struct *work) return; out_done: + kmem_cache_free(tcm_loop_cmd_cache, tl_cmd); sc->scsi_done(sc); return; } |