Received: by 10.223.185.111 with SMTP id b44csp1039802wrg; Fri, 9 Mar 2018 19:56:31 -0800 (PST) X-Google-Smtp-Source: AG47ELsKoAdT9r+K991YzE62MZtR2Tbi95O3lgy+8nEF1byyWbkUbQVZKGtNbdUaR/zk8/8PbmGG X-Received: by 10.101.98.149 with SMTP id f21mr666238pgv.7.1520654191550; Fri, 09 Mar 2018 19:56:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520654191; cv=none; d=google.com; s=arc-20160816; b=ngoQbwykjQYeICHeVGOo1nE5ZW/HFwrctWxOP3/GZV6z7GP+tvWB3hw44a+NmS/cAq L4ziE86fcTWoQcwUdxDdpZ6MTwDVwdCT2rZdFDlpc/fHV8iwXUw1/YUVjsno2L0luYvi zygCtxfAZcALSCQwBVmOYzdmsLRowQhGqohMNJ7R9y5IemQlFd2D+AW4/uEk8WZKzZuf 8QfOD+og8OiywC4OZq5BkiBmQo97+FAsICO9xKhilII3ffFZNzchwQGhygfNBNEJDUpx bfmq+e0iDDI1rSmQ8bYaIbQSMl45iGR+V9gL8MflugLQF/Y99nDoq1LA+PrrXSjMpiIJ PVFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=6QXWqWaueac1TjiQwIpgEgsgld8khCVOJZbLCOobPCQ=; b=VEeVYWWm2zAUwZigRIu/BE3jkyGyY5kH+7LcLC2xLZxQjcEa9QtAf18d2C0K+KuK4T nCl1zNIJC2fBs2pPoCni1Vi1v1D8RHwGWyTe9kYh1q1MteJ0nw2KG/92OawnVIcvTFqs h9Wd++DumUM+0+MksqQqI4qjsaDwtwa5ZdaMtwggbOvX0ZQS8sXOno0RCe3XUxnvaXOK k0M5oXWsEIplnMppXtaYG5wa7v+bMizo+roA+d9m2EbN3bLnX6d7OWjH3GmueWW92DSZ ssv/GyjDEy2npTy8DohXo62yHUxvRe+1Pi69XYXPG14U3CE8lK3F0tY7C8TfN90tXQ2w mk0g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i21si2050677pfj.78.2018.03.09.19.56.16; Fri, 09 Mar 2018 19:56:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932768AbeCJDzY (ORCPT + 99 others); Fri, 9 Mar 2018 22:55:24 -0500 Received: from gateway33.websitewelcome.com ([192.185.146.130]:31677 "EHLO gateway33.websitewelcome.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932299AbeCJDzX (ORCPT ); Fri, 9 Mar 2018 22:55:23 -0500 X-Greylist: delayed 1381 seconds by postgrey-1.27 at vger.kernel.org; Fri, 09 Mar 2018 22:55:23 EST Received: from cm15.websitewelcome.com (cm15.websitewelcome.com [100.42.49.9]) by gateway33.websitewelcome.com (Postfix) with ESMTP id C839713918F3 for ; Fri, 9 Mar 2018 21:32:21 -0600 (CST) Received: from gator4166.hostgator.com ([108.167.133.22]) by cmsmtp with SMTP id uVF7emgWvntAouVF7eTECK; Fri, 09 Mar 2018 21:32:21 -0600 Received: from [189.175.117.58] (port=34086 helo=[192.168.1.66]) by gator4166.hostgator.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.89_1) (envelope-from ) id 1euVF7-003J0Y-Go; Fri, 09 Mar 2018 21:32:21 -0600 Subject: Re: [PATCH] Input: stmpe-keypad - remove VLA usage To: Dmitry Torokhov Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org References: <20180309224208.GA7080@embeddedor.com> <20180309233235.GC60941@dtor-ws> From: "Gustavo A. R. Silva" Message-ID: <849affd1-712c-bdf7-625c-facd4b573bca@embeddedor.com> Date: Fri, 9 Mar 2018 21:32:21 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20180309233235.GC60941@dtor-ws> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - gator4166.hostgator.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - embeddedor.com X-BWhitelist: no X-Source-IP: 189.175.117.58 X-Source-L: No X-Exim-ID: 1euVF7-003J0Y-Go X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: ([192.168.1.66]) [189.175.117.58]:34086 X-Source-Auth: garsilva@embeddedor.com X-Email-Count: 7 X-Source-Cap: Z3V6aWRpbmU7Z3V6aWRpbmU7Z2F0b3I0MTY2Lmhvc3RnYXRvci5jb20= X-Local-Domain: yes Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Dmitry, On 03/09/2018 05:32 PM, Dmitry Torokhov wrote: > On Fri, Mar 09, 2018 at 04:42:08PM -0600, Gustavo A. R. Silva wrote: >> In preparation to enabling -Wvla, remove VLA and replace it >> with a fixed-length array instead. >> >> Fixed as part of the directive to remove all VLAs from >> the kernel: https://lkml.org/lkml/2018/3/7/621 >> >> Signed-off-by: Gustavo A. R. Silva >> --- >> drivers/input/keyboard/stmpe-keypad.c | 10 ++++++---- >> 1 file changed, 6 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/input/keyboard/stmpe-keypad.c b/drivers/input/keyboard/stmpe-keypad.c >> index 8c6c0b9..cfa1dbe 100644 >> --- a/drivers/input/keyboard/stmpe-keypad.c >> +++ b/drivers/input/keyboard/stmpe-keypad.c >> @@ -48,6 +48,8 @@ >> #define STMPE_KEYPAD_KEYMAP_MAX_SIZE \ >> (STMPE_KEYPAD_MAX_ROWS * STMPE_KEYPAD_MAX_COLS) >> >> +#define MAX_NUM_DATA 5 >> + >> /** >> * struct stmpe_keypad_variant - model-specific attributes >> * @auto_increment: whether the KPC_DATA_BYTE register address >> @@ -74,7 +76,7 @@ struct stmpe_keypad_variant { >> static const struct stmpe_keypad_variant stmpe_keypad_variants[] = { >> [STMPE1601] = { >> .auto_increment = true, >> - .num_data = 5, >> + .num_data = MAX_NUM_DATA, >> .num_normal_data = 3, >> .max_cols = 8, >> .max_rows = 8, >> @@ -84,7 +86,7 @@ static const struct stmpe_keypad_variant stmpe_keypad_variants[] = { >> [STMPE2401] = { >> .auto_increment = false, >> .set_pullup = true, >> - .num_data = 3, >> + .num_data = MAX_NUM_DATA - 2, > > Logically MAX_NUM_DATA - 2 does not mean anything, it is simply a way > for you to get to 3, so I'd rather we did not do that. > Yeah. I agree. > Can we do > > #define STMPE1601_NUM_DATA 5 > #define STMPE2401_NUM_DATA 3 > #define STMPE2403_NUM_DATA 5 > #define MAX_NUM_DATA max3(STMPE1601_NUM_DATA, \ > STMPE2401_NUM_DATA, \ > STMPE2403_NUM_DATA) > > > or simply > > /* Make sure it covers all cases above */ > #define MAX_NUM_DATA 5 This one works just fine. I'll send v2 of this patch shortly. Thanks for the feedback. I appreciate it. -- Gustavo > >> .num_normal_data = 2, >> .max_cols = 8, >> .max_rows = 12, >> @@ -94,7 +96,7 @@ static const struct stmpe_keypad_variant stmpe_keypad_variants[] = { >> [STMPE2403] = { >> .auto_increment = true, >> .set_pullup = true, >> - .num_data = 5, >> + .num_data = MAX_NUM_DATA, >> .num_normal_data = 3, >> .max_cols = 8, >> .max_rows = 12, >> @@ -156,7 +158,7 @@ static irqreturn_t stmpe_keypad_irq(int irq, void *dev) >> struct stmpe_keypad *keypad = dev; >> struct input_dev *input = keypad->input; >> const struct stmpe_keypad_variant *variant = keypad->variant; >> - u8 fifo[variant->num_data]; >> + u8 fifo[MAX_NUM_DATA]; >> int ret; >> int i; >> >> -- >> 2.7.4 >> > > Thanks. >