From: Markus Elfring <[email protected]> Date: Wed, 10 Jun 2026 20:30:23 +0200
Use an additional label so that a bit of exception handling can be better reused at the end of this function implementation. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring <[email protected]> --- drivers/accel/habanalabs/common/command_buffer.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/accel/habanalabs/common/command_buffer.c b/drivers/accel/habanalabs/common/command_buffer.c index e929db8bc023..980c9e4f96c6 100644 --- a/drivers/accel/habanalabs/common/command_buffer.c +++ b/drivers/accel/habanalabs/common/command_buffer.c @@ -126,10 +126,8 @@ static struct hl_cb *hl_cb_alloc(struct hl_device *hdev, u32 cb_size, if (internal_cb) { p = (void *) gen_pool_alloc(hdev->internal_cb_pool, cb_size); - if (!p) { - kfree(cb); - return NULL; - } + if (!p) + goto free_cb; cb_offset = p - hdev->internal_cb_pool_virt_addr; cb->is_internal = true; @@ -147,14 +145,17 @@ static struct hl_cb *hl_cb_alloc(struct hl_device *hdev, u32 cb_size, dev_err(hdev->dev, "failed to allocate %d of dma memory for CB\n", cb_size); - kfree(cb); - return NULL; + goto free_cb; } cb->kernel_address = p; cb->size = cb_size; return cb; + +free_cb: + kfree(cb); + return NULL; } struct hl_cb_mmap_mem_alloc_args { -- 2.54.0
