From: LABBE Corentin Date: Wed, 25 Nov 2015 12:52:02 +0000 (+0100) Subject: clk: palmas: fix a possible NULL dereference X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=8d0a69d735318cbd99c1376d16ed7ff82a7a678e;p=openwrt%2Fstaging%2Fblogic.git clk: palmas: 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. Reported-by: coverity (CID 1324137) Signed-off-by: LABBE Corentin Signed-off-by: Stephen Boyd --- diff --git a/drivers/clk/clk-palmas.c b/drivers/clk/clk-palmas.c index c55e7745c9f8..9c0b8e6b1ab3 100644 --- a/drivers/clk/clk-palmas.c +++ b/drivers/clk/clk-palmas.c @@ -241,13 +241,13 @@ static int palmas_clks_probe(struct platform_device *pdev) struct palmas *palmas = dev_get_drvdata(pdev->dev.parent); struct device_node *node = pdev->dev.of_node; const struct palmas_clks_of_match_data *match_data; - const struct of_device_id *match; struct palmas_clock_info *cinfo; struct clk *clk; int ret; - match = of_match_device(palmas_clks_of_match, &pdev->dev); - match_data = match->data; + match_data = of_device_get_match_data(&pdev->dev); + if (!match_data) + return 1; cinfo = devm_kzalloc(&pdev->dev, sizeof(*cinfo), GFP_KERNEL); if (!cinfo)