[PATCH -next] lightnvm: fix possible memory leak in nvme_nvm_get_l2p_tbl()

From: Wei Yongjun
Date: Sun Feb 05 2017 - 10:44:26 EST


From: Wei Yongjun <weiyongjun1@xxxxxxxxxx>

'entries' is malloced in nvme_nvm_get_l2p_tbl() and should be freed
before leaving from the error handling cases, otherwise it will cause
memory leak.

Fixes: 8e79b5cb1d3b ("lightnvm: move block provisioning to targets")
Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx>
---
drivers/nvme/host/lightnvm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c
index 588d4a3..2388716 100644
--- a/drivers/nvme/host/lightnvm.c
+++ b/drivers/nvme/host/lightnvm.c
@@ -368,7 +368,8 @@ static int nvme_nvm_get_l2p_tbl(struct nvm_dev *nvmdev, u64 slba, u32 nlb,

if (unlikely(elba > nvmdev->total_secs)) {
pr_err("nvm: L2P data from device is out of bounds!\n");
- return -EINVAL;
+ ret = -EINVAL;
+ goto out;
}

/* Transform physical address to target address space */