On Thu, Oct 19, 2023 at 9:20 PM Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote: > > 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. > I queued it for fixes as this is a bug, we can improve it later. Bart > > --- > > 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