From: Laura Abbott Date: Sat, 10 Mar 2018 00:10:19 +0000 (-0800) Subject: gpio: Remove VLA from MAX3191X driver X-Git-Tag: for-linus-20180413~37^2~9 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=48da181dac478bb517aae2483e69f3eeec24172c;p=linux-2.6-block.git gpio: Remove VLA from MAX3191X driver The new challenge is to remove VLAs from the kernel (see https://lkml.org/lkml/2018/3/7/621) This patch replaces several a VLA with an appropriate call to kmalloc_array. Signed-off-by: Laura Abbott Reviewed-and-tested-by: Lukas Wunner Signed-off-by: Linus Walleij --- diff --git a/drivers/gpio/gpio-max3191x.c b/drivers/gpio/gpio-max3191x.c index f74b1072e84b..b5b9cb1fda50 100644 --- a/drivers/gpio/gpio-max3191x.c +++ b/drivers/gpio/gpio-max3191x.c @@ -315,12 +315,17 @@ static void gpiod_set_array_single_value_cansleep(unsigned int ndescs, struct gpio_desc **desc, int value) { - int i, values[ndescs]; + int i, *values; + + values = kmalloc_array(ndescs, sizeof(*values), GFP_KERNEL); + if (!values) + return; for (i = 0; i < ndescs; i++) values[i] = value; gpiod_set_array_value_cansleep(ndescs, desc, values); + kfree(values); } static struct gpio_descs *devm_gpiod_get_array_optional_count(