On Thu, 13 Mar 2025, Chenyuan Yang wrote: Hi, Could you please be consistent in style and write "NULL" also in the shortlog in the subject. > Not all devices have an ACPI companion fwnode, so device might be NULL. > This is similar to the commit cd2fd6eab480 > ("platform/x86: int3472: Check for adev == NULL"). Please fold the paragraph normally. > Add a check for device not being set and return -ENODEV in that case to > avoid a possible NULL pointer deref in parse_wdg(). > > Note, acpi_wmi_probe() under the same file has such a check. Hmm, is this a bogus fix, as parse_wdg() is only called from acpi_wmi_probe() so how can ACPI companion turn NULL in between?? How was this problem found?? > Signed-off-by: Chenyuan Yang <chenyuan0y@xxxxxxxxx> > --- > drivers/platform/x86/wmi.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c > index 646370bd6b03..54e697838c1e 100644 > --- a/drivers/platform/x86/wmi.c > +++ b/drivers/platform/x86/wmi.c > @@ -1091,6 +1091,9 @@ static int parse_wdg(struct device *wmi_bus_dev, struct platform_device *pdev) > u32 i, total; > int retval; > > + if (!device) > + return -ENODEV; > + > status = acpi_evaluate_object(device->handle, "_WDG", NULL, &out); > if (ACPI_FAILURE(status)) > return -ENXIO; > -- i.