Messages in this thread Patch in this message | | | From | Oded Gabbay <> | Subject | [PATCH 3/9] habanalabs: free signal handle on failure | Date | Sun, 5 Dec 2021 17:42:30 +0200 |
| |
Fix a bug where in case of failure to allocate idr, the handle's memory wasn't freed as part of the error handling code.
Signed-off-by: Oded Gabbay <ogabbay@kernel.org> --- drivers/misc/habanalabs/common/command_submission.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/misc/habanalabs/common/command_submission.c b/drivers/misc/habanalabs/common/command_submission.c index 8be547b0926c..d169418197c0 100644 --- a/drivers/misc/habanalabs/common/command_submission.c +++ b/drivers/misc/habanalabs/common/command_submission.c @@ -1838,7 +1838,7 @@ static int cs_ioctl_reserve_signals(struct hl_fpriv *hpriv, if (hdl_id < 0) { dev_err(hdev->dev, "Failed to allocate IDR for a new signal reservation\n"); rc = -EINVAL; - goto out; + goto free_handle; } handle->id = hdl_id; @@ -1891,7 +1891,9 @@ static int cs_ioctl_reserve_signals(struct hl_fpriv *hpriv, idr_remove(&mgr->handles, hdl_id); spin_unlock(&mgr->lock); +free_handle: kfree(handle); + out: return rc; } -- 2.25.1
| |