diff mbox series

media: coda: Add check for dcoda_iram_alloc

Message ID 20221117065652.44426-1-jiasheng@iscas.ac.cn
State Accepted
Commit 6b8082238fb8bb20f67e46388123e67a5bbc558d
Headers show
Series media: coda: Add check for dcoda_iram_alloc | expand

Commit Message

Jiasheng Jiang Nov. 17, 2022, 6:56 a.m. UTC
As the coda_iram_alloc may return NULL pointer,
it should be better to check the return value
in order to avoid NULL poineter dereference,
same as the others.

Fixes: b313bcc9a467 ("[media] coda: simplify IRAM setup")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
---
 drivers/media/platform/chips-media/coda-bit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Philipp Zabel Dec. 16, 2022, 5:32 p.m. UTC | #1
On Do, 2022-11-17 at 14:56 +0800, Jiasheng Jiang wrote:
> As the coda_iram_alloc may return NULL pointer,

coda_iram_alloc() may return (phys_addr_t)0, not a NULL pointer.

> it should be better to check the return value
> in order to avoid NULL poineter dereference,
> same as the others.
> 
> Fixes: b313bcc9a467 ("[media] coda: simplify IRAM setup")
> Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
> ---
>  drivers/media/platform/chips-media/coda-bit.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/chips-media/coda-bit.c b/drivers/media/platform/chips-media/coda-bit.c
> index 2736a902e3df..6d816fd69a17 100644
> --- a/drivers/media/platform/chips-media/coda-bit.c
> +++ b/drivers/media/platform/chips-media/coda-bit.c
> @@ -854,7 +854,7 @@ static void coda_setup_iram(struct coda_ctx *ctx)
>  		/* Only H.264BP and H.263P3 are considered */
>  		iram_info->buf_dbk_y_use = coda_iram_alloc(iram_info, w64);

While this can return 0, if this allocation fails, ...

>  		iram_info->buf_dbk_c_use = coda_iram_alloc(iram_info, w64);

... this one must fail as well.

> -		if (!iram_info->buf_dbk_c_use)

So the buf_dbk_c_use check is enough.

regards
Philipp
diff mbox series

Patch

diff --git a/drivers/media/platform/chips-media/coda-bit.c b/drivers/media/platform/chips-media/coda-bit.c
index 2736a902e3df..6d816fd69a17 100644
--- a/drivers/media/platform/chips-media/coda-bit.c
+++ b/drivers/media/platform/chips-media/coda-bit.c
@@ -854,7 +854,7 @@  static void coda_setup_iram(struct coda_ctx *ctx)
 		/* Only H.264BP and H.263P3 are considered */
 		iram_info->buf_dbk_y_use = coda_iram_alloc(iram_info, w64);
 		iram_info->buf_dbk_c_use = coda_iram_alloc(iram_info, w64);
-		if (!iram_info->buf_dbk_c_use)
+		if (!iram_info->buf_dbk_y_use || !iram_info->buf_dbk_c_use)
 			goto out;
 		iram_info->axi_sram_use |= dbk_bits;
 
@@ -878,7 +878,7 @@  static void coda_setup_iram(struct coda_ctx *ctx)
 
 		iram_info->buf_dbk_y_use = coda_iram_alloc(iram_info, w128);
 		iram_info->buf_dbk_c_use = coda_iram_alloc(iram_info, w128);
-		if (!iram_info->buf_dbk_c_use)
+		if (!iram_info->buf_dbk_y_use || !iram_info->buf_dbk_c_use)
 			goto out;
 		iram_info->axi_sram_use |= dbk_bits;