Message ID | 20170707061626.GA14016@embeddedgus (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Thierry, Quoting Thierry Reding <thierry.reding@gmail.com>: > On Fri, Jul 07, 2017 at 01:16:26AM -0500, Gustavo A. R. Silva wrote: >> Check return value from call to of_match_device() >> in order to prevent a NULL pointer dereference. >> >> In case of NULL print error message and return. >> >> Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> >> --- >> drivers/gpu/drm/tegra/vic.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/gpu/drm/tegra/vic.c b/drivers/gpu/drm/tegra/vic.c >> index 47cb1aa..7e11825 100644 >> --- a/drivers/gpu/drm/tegra/vic.c >> +++ b/drivers/gpu/drm/tegra/vic.c >> @@ -283,6 +283,11 @@ static int vic_probe(struct platform_device *pdev) >> int err; >> >> match = of_match_device(vic_match, dev); >> + if (!match) { >> + dev_err(&pdev->dev, "failed to match device\n"); >> + return -ENODEV; >> + } > > Someone would have to go to great lengths to trigger this condition, > might as well let it crash as a warning that they've done something > wrong. > Thanks for clarifying. -- Gustavo A. R. Silva
diff --git a/drivers/gpu/drm/tegra/vic.c b/drivers/gpu/drm/tegra/vic.c index 47cb1aa..7e11825 100644 --- a/drivers/gpu/drm/tegra/vic.c +++ b/drivers/gpu/drm/tegra/vic.c @@ -283,6 +283,11 @@ static int vic_probe(struct platform_device *pdev) int err; match = of_match_device(vic_match, dev); + if (!match) { + dev_err(&pdev->dev, "failed to match device\n"); + return -ENODEV; + } + vic_config = (struct vic_config *)match->data; vic = devm_kzalloc(dev, sizeof(*vic), GFP_KERNEL);
Check return value from call to of_match_device() in order to prevent a NULL pointer dereference. In case of NULL print error message and return. Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> --- drivers/gpu/drm/tegra/vic.c | 5 +++++ 1 file changed, 5 insertions(+)