Messages in this thread | | | Subject | Re: [PATCH] firmware: arm_scmi: Fix to check return value of of_match_device | From | Steven Price <> | Date | Fri, 22 Mar 2019 16:44:49 +0000 |
| |
On 18/03/2019 23:04, Aditya Pakki wrote: > of_match_device can return NULL if no matching device is found. This patch > checks and returns -ENODEV in such a scenario. > > Signed-off-by: Aditya Pakki <pakki001@umn.edu> > --- > drivers/firmware/arm_scmi/driver.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/firmware/arm_scmi/driver.c b/drivers/firmware/arm_scmi/driver.c > index 8f952f2f1a29..0e0330b44b7b 100644 > --- a/drivers/firmware/arm_scmi/driver.c > +++ b/drivers/firmware/arm_scmi/driver.c > @@ -799,6 +799,8 @@ static int scmi_probe(struct platform_device *pdev) > } > > desc = of_match_device(scmi_of_match, dev)->data; > + if (!desc) > + return -ENODEV;
If of_match_device() returns NULL, we've already dereferenced it due to the "->data" access.
This would be better changed to be a call to of_device_get_match_data() which handles the NULL return gracefully.
Steve
| |