2015-11-24 14:37:12

by Corentin Labbe

[permalink] [raw]
Subject: [PATCH v2 0/1] serial: imx: fix a possible NULL dereference

Hello

Changes since v1
- Use of_device_get_match_data as suggested by Uwe Kleine-Konig

LABBE Corentin (2):
serial: imx: fix a possible NULL dereference
serial: imx: constify imx_uart_data structures

drivers/tty/serial/imx.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

--
2.4.10


2015-11-24 14:37:28

by Corentin Labbe

[permalink] [raw]
Subject: [PATCH v2 1/1] serial: imx: fix a possible NULL dereference

of_match_device could return NULL, and so cause a NULL pointer
dereference later.
Even if the probability of this case is very low, fixing it made
static analyzers happy.
Solving this with of_device_get_match_data made also code simplier.

Signed-off-by: LABBE Corentin <[email protected]>
---
drivers/tty/serial/imx.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 016e4be..76818f5 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -1857,11 +1857,10 @@ static int serial_imx_probe_dt(struct imx_port *sport,
struct platform_device *pdev)
{
struct device_node *np = pdev->dev.of_node;
- const struct of_device_id *of_id =
- of_match_device(imx_uart_dt_ids, &pdev->dev);
int ret;

- if (!np)
+ sport->devdata = of_device_get_match_data(&pdev->dev);
+ if (!sport->devdata)
/* no device tree device */
return 1;

@@ -1878,8 +1877,6 @@ static int serial_imx_probe_dt(struct imx_port *sport,
if (of_get_property(np, "fsl,dte-mode", NULL))
sport->dte_mode = 1;

- sport->devdata = of_id->data;
-
return 0;
}
#else
--
2.4.10

2015-11-29 17:03:10

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: [PATCH v2 1/1] serial: imx: fix a possible NULL dereference

On Tue, Nov 24, 2015 at 03:36:57PM +0100, LABBE Corentin wrote:
> of_match_device could return NULL, and so cause a NULL pointer
> dereference later.
> Even if the probability of this case is very low, fixing it made
> static analyzers happy.
> Solving this with of_device_get_match_data made also code simplier.
>
> Signed-off-by: LABBE Corentin <[email protected]>
Acked-by: Uwe Kleine-K?nig <[email protected]>

Thanks
Uwe

--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |