2022-11-14 02:22:34

by Hui Tang

[permalink] [raw]
Subject: [PATCH] mtd: lpddr2_nvm: i2c: mux: reg: Fix possible null-ptr-deref

It will cause null-ptr-deref when resource_size(add_range) invoked,
if platform_get_resource() returns NULL.

Fixes: 96ba9dd65788 ("mtd: lpddr: add driver for LPDDR2-NVM PCM memories")
Signed-off-by: Hui Tang <[email protected]>
---
drivers/mtd/lpddr/lpddr2_nvm.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/mtd/lpddr/lpddr2_nvm.c b/drivers/mtd/lpddr/lpddr2_nvm.c
index 367e2d906de0..cf8e86eb4b2c 100644
--- a/drivers/mtd/lpddr/lpddr2_nvm.c
+++ b/drivers/mtd/lpddr/lpddr2_nvm.c
@@ -433,6 +433,8 @@ static int lpddr2_nvm_probe(struct platform_device *pdev)

/* lpddr2_nvm address range */
add_range = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ if (IS_ERR(add_range))
+ return -ENODEV;

/* Populate map_info data structure */
*map = (struct map_info) {
--
2.17.1



2022-11-14 09:41:50

by Miquel Raynal

[permalink] [raw]
Subject: Re: [PATCH] mtd: lpddr2_nvm: i2c: mux: reg: Fix possible null-ptr-deref

Hi Hui,

[email protected] wrote on Mon, 14 Nov 2022 10:01:41 +0800:

> It will cause null-ptr-deref when resource_size(add_range) invoked,
> if platform_get_resource() returns NULL.
>
> Fixes: 96ba9dd65788 ("mtd: lpddr: add driver for LPDDR2-NVM PCM memories")
> Signed-off-by: Hui Tang <[email protected]>
> ---
> drivers/mtd/lpddr/lpddr2_nvm.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/mtd/lpddr/lpddr2_nvm.c b/drivers/mtd/lpddr/lpddr2_nvm.c
> index 367e2d906de0..cf8e86eb4b2c 100644
> --- a/drivers/mtd/lpddr/lpddr2_nvm.c
> +++ b/drivers/mtd/lpddr/lpddr2_nvm.c
> @@ -433,6 +433,8 @@ static int lpddr2_nvm_probe(struct platform_device *pdev)
>
> /* lpddr2_nvm address range */
> add_range = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> + if (IS_ERR(add_range))

platform_get_resource() just returns NULL upon error.

> + return -ENODEV;
>
> /* Populate map_info data structure */
> *map = (struct map_info) {


Thanks,
Miquèl

2022-11-14 09:47:32

by Hui Tang

[permalink] [raw]
Subject: Re: [PATCH] mtd: lpddr2_nvm: i2c: mux: reg: Fix possible null-ptr-deref



On 2022/11/14 16:04, Miquel Raynal wrote:
> Hi Hui,
>
> [email protected] wrote on Mon, 14 Nov 2022 10:01:41 +0800:
>
>> It will cause null-ptr-deref when resource_size(add_range) invoked,
>> if platform_get_resource() returns NULL.
>>
>> Fixes: 96ba9dd65788 ("mtd: lpddr: add driver for LPDDR2-NVM PCM memories")
>> Signed-off-by: Hui Tang <[email protected]>
>> ---
>> drivers/mtd/lpddr/lpddr2_nvm.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/mtd/lpddr/lpddr2_nvm.c b/drivers/mtd/lpddr/lpddr2_nvm.c
>> index 367e2d906de0..cf8e86eb4b2c 100644
>> --- a/drivers/mtd/lpddr/lpddr2_nvm.c
>> +++ b/drivers/mtd/lpddr/lpddr2_nvm.c
>> @@ -433,6 +433,8 @@ static int lpddr2_nvm_probe(struct platform_device *pdev)
>>
>> /* lpddr2_nvm address range */
>> add_range = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> + if (IS_ERR(add_range))
>
> platform_get_resource() just returns NULL upon error.

Thanks

>