Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp1454429pxb; Fri, 20 Nov 2020 09:50:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJwJIVl9XFLK7xcMMStxVKTKOQhiVJ0ePkk6Hcv6mTj+ATuuwhDPCtHx4JLDVWtT1QKbs421 X-Received: by 2002:a17:906:d20a:: with SMTP id w10mr33896718ejz.3.1605894653229; Fri, 20 Nov 2020 09:50:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605894653; cv=none; d=google.com; s=arc-20160816; b=dU6W//l3lhTzZFp9x79+1QLUnEBD5IA8g/zwT5eHn+WRh6M2FLf6ZrUOhSDMcdZPUB bgeRYg63jbYxP2dgkgD04WEU7KZb6NarxjuxDAX3AstO0rDF9nqX+eXRU5XsbdMsA8Q0 cxckcJlyEwfYRseNL9koZM81PSolnmNv968dVarF3J48LhSyKD+0i8DPv6Rgp08vueqh DG/8CU2L5kBoz60O8I2ZLflMzKJ5v7tjAlErJVcxaGjrO4+rf2PS87+GeF/fbTJ17XFp ouG0/qzyHU+MxTHUnwQ2UtK+UrNgyt4YlkuNZi6hyi+6V4Z4dD/N9qbCL7PZ598cBxjP Hw+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=Yy8mAP2XRxcUpsdCsTm+KdTXMmpuQJot11SefIetIN0=; b=ogdsAzG1e0zDsf9jMmJM4N+f8qrgJJLAkB372EVCbxshVAz44rtIWgT2wKTaAgG0QU Uo8SaKl9RkwolwzYonffMqw83tf43Jzf/ZLRZcCyDGXT2M5LXzWW4yVL3cjw4KHU+10w 5c2Mkfti0fDq61VTXEEs9WtMAnDYfheS6T4hgE35iBytZ0ZWwjeyUbw/0YNQXQ/Ln78Z nrIMl6AXOPkkcZN8v9KmshR2/e6K5f+Ykkhb/0xU43UGBjtZ46x9eG33FWV4CC4Qafq9 YnRZH/6DePqjHo3amfWLhiF9uGoI6qzlTexM8qPMgWjUKMPNvos8hPsM69miff/UQDej sKIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=VuHTdBnu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bu8si2380313edb.542.2020.11.20.09.50.30; Fri, 20 Nov 2020 09:50:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=VuHTdBnu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729013AbgKTRsW (ORCPT + 99 others); Fri, 20 Nov 2020 12:48:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34722 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728104AbgKTRsW (ORCPT ); Fri, 20 Nov 2020 12:48:22 -0500 Received: from mail-pf1-x443.google.com (mail-pf1-x443.google.com [IPv6:2607:f8b0:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E4C8FC0613CF; Fri, 20 Nov 2020 09:48:21 -0800 (PST) Received: by mail-pf1-x443.google.com with SMTP id w6so8583741pfu.1; Fri, 20 Nov 2020 09:48:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=Yy8mAP2XRxcUpsdCsTm+KdTXMmpuQJot11SefIetIN0=; b=VuHTdBnuHwGkq10ElqUJ8YPGsbNvZ5vJJtt345M1qoUcGa3PYxR4lS7NACyEa+776y 25Cok+kYcBGNapvo76mDOaCx8R2BhsQd67Zihv5M92ISuwt+n+e197ksp/H9yZz5VV+/ ADTwNtS4gbRFYkl+arTBx2OS0264zqmjJ2ndkSB/48sDHXwgG4IwXqArceJsjSnxlWxf sUjVZ4YMgL5Aw4nKwy3LDKR75YoSGXaAZCzQ/kskAh7Q9IFmzf/ggVl5bZkIqyDkWZ0t 9aIWKV1ISFUpBCLK2/LFkJgp345efuZZCPzuoptlJ4cPGAB6IPJ6YDMAr0H3vX9kBXfW vSNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=Yy8mAP2XRxcUpsdCsTm+KdTXMmpuQJot11SefIetIN0=; b=f51oCExfbge1ttSQVFbxJ4bgBWTDEp1Q6zMLftPBdFi2nBHeQ7Ym/ftaPPkSTC6eLR XGzeOUGWMwsk4uQSoPwSMN3ExLLiMYhtvUkJ4r/nmwG+loXyqSscaAihaBVCUwECYais XK4JEhUHnilo7XBPK2C+rDVyS7BqKuHL3uX015Q6qLBT3q0ILhMcBB1+uKWmYjAJXIax IVCdGu84DS0cunv5Bovl47Uzuk1QWSKzN2VDaMrg8m1lvtFTW4PETwvpfpu8uORHd0/H OiwxjFdUe7kQ5gyMs6QY1BNyDXAPCrvv3HuBAgN2b/i121+qAUASnaXVy3hs/gXkxWwb vAwA== X-Gm-Message-State: AOAM532iSUBYDy1zE/VWmb4RsYhX5paWK0EriMMeCG2bVZkw/bD61L6c oRkmJnjgnIBYdSo0YHYdEoE= X-Received: by 2002:a17:90b:38e:: with SMTP id ga14mr10935553pjb.45.1605894501500; Fri, 20 Nov 2020 09:48:21 -0800 (PST) Received: from syed ([2401:4900:2e82:cfda:fc82:287b:3e19:db98]) by smtp.gmail.com with ESMTPSA id 184sm4533205pfc.28.2020.11.20.09.48.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Nov 2020 09:48:20 -0800 (PST) Date: Fri, 20 Nov 2020 23:18:05 +0530 From: Syed Nayyar Waris To: akpm@linux-foundation.org Cc: andriy.shevchenko@linux.intel.com, vilhelm.gray@gmail.com, bgolaszewski@baylibre.com, michal.simek@xilinx.com, linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] gpio: xilinx: Add extra check to see if sum of widths exceed 64 Message-ID: <5581771d86df1abaf33545ccd60caf4db7ad3c5e.1605893643.git.syednwaris@gmail.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add extra check to see if sum of widths does not exceed 64. If it exceeds then return -EINVAL alongwith appropriate error message. Cc: Michal Simek Signed-off-by: Syed Nayyar Waris --- drivers/gpio/gpio-xilinx.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpio/gpio-xilinx.c b/drivers/gpio/gpio-xilinx.c index 05dae086c4d0..a2e92a1cf50b 100644 --- a/drivers/gpio/gpio-xilinx.c +++ b/drivers/gpio/gpio-xilinx.c @@ -340,6 +340,12 @@ static int xgpio_probe(struct platform_device *pdev) chip->gc.base = -1; chip->gc.ngpio = chip->gpio_width[0] + chip->gpio_width[1]; + + if (chip->gc.ngpio > 64) { + dev_err(&pdev->dev, "invalid configuration: number of GPIO is greater than 64"); + return -EINVAL; + } + chip->gc.parent = &pdev->dev; chip->gc.direction_input = xgpio_dir_in; chip->gc.direction_output = xgpio_dir_out; -- 2.29.0