On Thu, Oct 19, 2023 at 08:34:55PM +0300, Andy Shevchenko wrote: > When refactoring the acpi_get_gpiod_from_data() the change missed > cleaning up the variable on stack. Add missing memset(). > > Reported-by: Ferry Toth <ftoth@xxxxxxxxxxxxxx> > Fixes: 16ba046e86e9 ("gpiolib: acpi: teach acpi_find_gpio() to handle data-only nodes") > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Although I think it would be better to change acpi_gpio_resource_lookup() to take an index and return a gpiod descriptor and have a local copy of the lookup structure. > --- > drivers/gpio/gpiolib-acpi.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c > index fbda452fb4d6..51e41676de0b 100644 > --- a/drivers/gpio/gpiolib-acpi.c > +++ b/drivers/gpio/gpiolib-acpi.c > @@ -951,6 +951,7 @@ static struct gpio_desc *acpi_get_gpiod_from_data(struct fwnode_handle *fwnode, > if (!propname) > return ERR_PTR(-EINVAL); > > + memset(&lookup, 0, sizeof(lookup)); > lookup.index = index; > > ret = acpi_gpio_property_lookup(fwnode, propname, index, &lookup); > -- > 2.40.0.1.gaa8946217a0b > Thanks. -- Dmitry