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 |
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 --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;
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(-)