2018-03-12 12:54:50

by Pierre-Yves MORDRET

[permalink] [raw]
Subject: [RESEND PATCH v1] i2c: i2c-stm32f7: fix no check on returned setup

Before assigning returned setup structure check if not null

Fixes: 463a9215f3ca7600b5ff ("i2c: stm32f7: fix setup structure")
Signed-off-by: Pierre-Yves MORDRET <[email protected]>
---
Version history:
v1:
* Initial
---
---
drivers/i2c/busses/i2c-stm32f7.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/i2c/busses/i2c-stm32f7.c b/drivers/i2c/busses/i2c-stm32f7.c
index b445b3b..16c7d77 100644
--- a/drivers/i2c/busses/i2c-stm32f7.c
+++ b/drivers/i2c/busses/i2c-stm32f7.c
@@ -888,6 +888,10 @@ static int stm32f7_i2c_probe(struct platform_device *pdev)
}

setup = of_device_get_match_data(&pdev->dev);
+ if (!setup) {
+ dev_err(&pdev->dev, "Can't get device data\n");
+ goto clk_free;
+ }
i2c_dev->setup = *setup;

ret = device_property_read_u32(i2c_dev->dev, "i2c-scl-rising-time-ns",
--
2.7.4



2018-03-17 20:45:28

by Wolfram Sang

[permalink] [raw]
Subject: Re: [RESEND PATCH v1] i2c: i2c-stm32f7: fix no check on returned setup

On Mon, Mar 12, 2018 at 01:53:21PM +0100, Pierre-Yves MORDRET wrote:
> Before assigning returned setup structure check if not null
>
> Fixes: 463a9215f3ca7600b5ff ("i2c: stm32f7: fix setup structure")
> Signed-off-by: Pierre-Yves MORDRET <[email protected]>

Maxime? Alexandre?


Attachments:
(No filename) (297.00 B)
signature.asc (849.00 B)
Download all attachments

2018-03-20 09:10:57

by Alexandre Torgue

[permalink] [raw]
Subject: Re: [RESEND PATCH v1] i2c: i2c-stm32f7: fix no check on returned setup

Hi Pierre-Yves

On 03/12/2018 01:53 PM, Pierre-Yves MORDRET wrote:
> Before assigning returned setup structure check if not null
>
> Fixes: 463a9215f3ca7600b5ff ("i2c: stm32f7: fix setup structure")
> Signed-off-by: Pierre-Yves MORDRET <[email protected]>
> ---
> Version history:
> v1:
> * Initial
> ---
> ---
> drivers/i2c/busses/i2c-stm32f7.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/i2c/busses/i2c-stm32f7.c b/drivers/i2c/busses/i2c-stm32f7.c
> index b445b3b..16c7d77 100644
> --- a/drivers/i2c/busses/i2c-stm32f7.c
> +++ b/drivers/i2c/busses/i2c-stm32f7.c
> @@ -888,6 +888,10 @@ static int stm32f7_i2c_probe(struct platform_device *pdev)
> }
>
> setup = of_device_get_match_data(&pdev->dev);
> + if (!setup) {
> + dev_err(&pdev->dev, "Can't get device data\n");
> + goto clk_free;

You have to fill "ret" with error statement before go to "clk_free"

> + }

> i2c_dev->setup = *setup;
>
> ret = device_property_read_u32(i2c_dev->dev, "i2c-scl-rising-time-ns",
>