2022-01-05 09:41:32

by Jiasheng Jiang

[permalink] [raw]
Subject: [PATCH] mmc: sh_mmcif: Check for null res pointer

If there is no suitable resource, platform_get_resource() will return
NULL.
Therefore in order to avoid the dereference of the NULL pointer, it
should be better to check the 'res'.

Fixes: 27cbd7e815a8 ("mmc: sh_mmcif: rework dma channel handling")
Signed-off-by: Jiasheng Jiang <[email protected]>
---
drivers/mmc/host/sh_mmcif.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c
index e5e457037235..45dfa3b0be9c 100644
--- a/drivers/mmc/host/sh_mmcif.c
+++ b/drivers/mmc/host/sh_mmcif.c
@@ -405,6 +405,9 @@ static int sh_mmcif_dma_slave_config(struct sh_mmcif_host *host,
struct dma_slave_config cfg = { 0, };

res = platform_get_resource(host->pd, IORESOURCE_MEM, 0);
+ if (!res)
+ return -EINVAL;
+
cfg.direction = direction;

if (direction == DMA_DEV_TO_MEM) {
--
2.25.1



2022-01-20 21:27:33

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] mmc: sh_mmcif: Check for null res pointer

On Wed, 5 Jan 2022 at 10:41, Jiasheng Jiang <[email protected]> wrote:
>
> If there is no suitable resource, platform_get_resource() will return
> NULL.
> Therefore in order to avoid the dereference of the NULL pointer, it
> should be better to check the 'res'.
>
> Fixes: 27cbd7e815a8 ("mmc: sh_mmcif: rework dma channel handling")

I think this fixes tag is wrong. The problem seems to have been there
way before this point.

I suggest we instead just tag it for stable - and then let it be
applied to whatever kernel version it can. Does it make sense to you?

Kind regards
Uffe

> Signed-off-by: Jiasheng Jiang <[email protected]>
> ---
> drivers/mmc/host/sh_mmcif.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c
> index e5e457037235..45dfa3b0be9c 100644
> --- a/drivers/mmc/host/sh_mmcif.c
> +++ b/drivers/mmc/host/sh_mmcif.c
> @@ -405,6 +405,9 @@ static int sh_mmcif_dma_slave_config(struct sh_mmcif_host *host,
> struct dma_slave_config cfg = { 0, };
>
> res = platform_get_resource(host->pd, IORESOURCE_MEM, 0);
> + if (!res)
> + return -EINVAL;
> +
> cfg.direction = direction;
>
> if (direction == DMA_DEV_TO_MEM) {
> --
> 2.25.1
>

2022-01-21 19:13:47

by Jiasheng Jiang

[permalink] [raw]
Subject: Re: Re: [PATCH] mmc: sh_mmcif: Check for null res pointer

On wed, Jan 19, 2022 at 02:13:13AM +0800, Ulf Hansson wrote:
>> Fixes: 27cbd7e815a8 ("mmc: sh_mmcif: rework dma channel handling")
>
> I think this fixes tag is wrong. The problem seems to have been there
> way before this point.
>
> I suggest we instead just tag it for stable - and then let it be
> applied to whatever kernel version it can. Does it make sense to you?

Thanks, I have already changed the fixes tag to 'v5.16' and sent a v2.

Sincerely thanks,
Jiang