2024-04-02 10:02:37

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH] drm/panthor: Fix a couple -ENOMEM error codes

These error paths forgot to set the error code to -ENOMEM.

Fixes: 647810ec2476 ("drm/panthor: Add the MMU/VM logical block")
Signed-off-by: Dan Carpenter <[email protected]>
---
drivers/gpu/drm/panthor/panthor_mmu.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/panthor/panthor_mmu.c
index fdd35249169f..a26b40aab261 100644
--- a/drivers/gpu/drm/panthor/panthor_mmu.c
+++ b/drivers/gpu/drm/panthor/panthor_mmu.c
@@ -1264,8 +1264,10 @@ static int panthor_vm_prepare_map_op_ctx(struct panthor_vm_op_ctx *op_ctx,
op_ctx->rsvd_page_tables.pages = kcalloc(pt_count,
sizeof(*op_ctx->rsvd_page_tables.pages),
GFP_KERNEL);
- if (!op_ctx->rsvd_page_tables.pages)
+ if (!op_ctx->rsvd_page_tables.pages) {
+ ret = -ENOMEM;
goto err_cleanup;
+ }

ret = kmem_cache_alloc_bulk(pt_cache, GFP_KERNEL, pt_count,
op_ctx->rsvd_page_tables.pages);
@@ -1318,8 +1320,10 @@ static int panthor_vm_prepare_unmap_op_ctx(struct panthor_vm_op_ctx *op_ctx,
op_ctx->rsvd_page_tables.pages = kcalloc(pt_count,
sizeof(*op_ctx->rsvd_page_tables.pages),
GFP_KERNEL);
- if (!op_ctx->rsvd_page_tables.pages)
+ if (!op_ctx->rsvd_page_tables.pages) {
+ ret = -ENOMEM;
goto err_cleanup;
+ }

ret = kmem_cache_alloc_bulk(pt_cache, GFP_KERNEL, pt_count,
op_ctx->rsvd_page_tables.pages);
--
2.43.0



2024-04-02 12:22:33

by Boris Brezillon

[permalink] [raw]
Subject: Re: [PATCH] drm/panthor: Fix a couple -ENOMEM error codes

On Tue, 2 Apr 2024 12:58:09 +0300
Dan Carpenter <[email protected]> wrote:

> These error paths forgot to set the error code to -ENOMEM.
>
> Fixes: 647810ec2476 ("drm/panthor: Add the MMU/VM logical block")
> Signed-off-by: Dan Carpenter <[email protected]>

Reviewed-by: Boris Brezillon <[email protected]>

> ---
> drivers/gpu/drm/panthor/panthor_mmu.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/panthor/panthor_mmu.c
> index fdd35249169f..a26b40aab261 100644
> --- a/drivers/gpu/drm/panthor/panthor_mmu.c
> +++ b/drivers/gpu/drm/panthor/panthor_mmu.c
> @@ -1264,8 +1264,10 @@ static int panthor_vm_prepare_map_op_ctx(struct panthor_vm_op_ctx *op_ctx,
> op_ctx->rsvd_page_tables.pages = kcalloc(pt_count,
> sizeof(*op_ctx->rsvd_page_tables.pages),
> GFP_KERNEL);
> - if (!op_ctx->rsvd_page_tables.pages)
> + if (!op_ctx->rsvd_page_tables.pages) {
> + ret = -ENOMEM;
> goto err_cleanup;
> + }
>
> ret = kmem_cache_alloc_bulk(pt_cache, GFP_KERNEL, pt_count,
> op_ctx->rsvd_page_tables.pages);
> @@ -1318,8 +1320,10 @@ static int panthor_vm_prepare_unmap_op_ctx(struct panthor_vm_op_ctx *op_ctx,
> op_ctx->rsvd_page_tables.pages = kcalloc(pt_count,
> sizeof(*op_ctx->rsvd_page_tables.pages),
> GFP_KERNEL);
> - if (!op_ctx->rsvd_page_tables.pages)
> + if (!op_ctx->rsvd_page_tables.pages) {
> + ret = -ENOMEM;
> goto err_cleanup;
> + }
>
> ret = kmem_cache_alloc_bulk(pt_cache, GFP_KERNEL, pt_count,
> op_ctx->rsvd_page_tables.pages);


2024-04-03 07:20:32

by Boris Brezillon

[permalink] [raw]
Subject: Re: [PATCH] drm/panthor: Fix a couple -ENOMEM error codes

On Tue, 2 Apr 2024 12:58:09 +0300
Dan Carpenter <[email protected]> wrote:

> These error paths forgot to set the error code to -ENOMEM.
>
> Fixes: 647810ec2476 ("drm/panthor: Add the MMU/VM logical block")
> Signed-off-by: Dan Carpenter <[email protected]>

Queued to drm-misc-next.

Thanks,

Boris

> ---
> drivers/gpu/drm/panthor/panthor_mmu.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/panthor/panthor_mmu.c
> index fdd35249169f..a26b40aab261 100644
> --- a/drivers/gpu/drm/panthor/panthor_mmu.c
> +++ b/drivers/gpu/drm/panthor/panthor_mmu.c
> @@ -1264,8 +1264,10 @@ static int panthor_vm_prepare_map_op_ctx(struct panthor_vm_op_ctx *op_ctx,
> op_ctx->rsvd_page_tables.pages = kcalloc(pt_count,
> sizeof(*op_ctx->rsvd_page_tables.pages),
> GFP_KERNEL);
> - if (!op_ctx->rsvd_page_tables.pages)
> + if (!op_ctx->rsvd_page_tables.pages) {
> + ret = -ENOMEM;
> goto err_cleanup;
> + }
>
> ret = kmem_cache_alloc_bulk(pt_cache, GFP_KERNEL, pt_count,
> op_ctx->rsvd_page_tables.pages);
> @@ -1318,8 +1320,10 @@ static int panthor_vm_prepare_unmap_op_ctx(struct panthor_vm_op_ctx *op_ctx,
> op_ctx->rsvd_page_tables.pages = kcalloc(pt_count,
> sizeof(*op_ctx->rsvd_page_tables.pages),
> GFP_KERNEL);
> - if (!op_ctx->rsvd_page_tables.pages)
> + if (!op_ctx->rsvd_page_tables.pages) {
> + ret = -ENOMEM;
> goto err_cleanup;
> + }
>
> ret = kmem_cache_alloc_bulk(pt_cache, GFP_KERNEL, pt_count,
> op_ctx->rsvd_page_tables.pages);