If there is no suitable node, of_match_node() will return NULL pointer.
Therefore it should be better to check it in order to avoid the
dereference of NULL pointer.
And the only caller s3c24xx_serial_probe() has already checked the
return value of the s3c24xx_get_driver_data().
So the new check can be dealed with.
Fixes: 55ed51fff224 ("{tty: serial, nand: onenand}: samsung: rename to fix build warning")
Signed-off-by: Jiasheng Jiang <[email protected]>
---
drivers/tty/serial/samsung_tty.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
index e2f49863e9c2..efbf9a7d5e92 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -2185,6 +2185,9 @@ s3c24xx_get_driver_data(struct platform_device *pdev)
const struct of_device_id *match;
match = of_match_node(s3c24xx_uart_dt_match, pdev->dev.of_node);
+ if (!match)
+ return NULL;
+
return (struct s3c24xx_serial_drv_data *)match->data;
}
#endif
--
2.25.1
On 11/01/2022 09:16, Jiasheng Jiang wrote:
> If there is no suitable node, of_match_node() will return NULL pointer.
NAK.
This is not possible. All drivers have such pattern and it was
discouraged to add empty/dead NULL checks.
If you think returning NULL is possible, please explain/document it.
> Therefore it should be better to check it in order to avoid the
> dereference of NULL pointer.
> And the only caller s3c24xx_serial_probe() has already checked the
> return value of the s3c24xx_get_driver_data().
> So the new check can be dealed with.
>
Best regards,
Krzysztof