From patchwork Mon Nov 27 10:48:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 841611 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-gpio-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="KO0dukAv"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3ylkBG4Yzmz9sRg for ; Mon, 27 Nov 2017 21:51:34 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752209AbdK0Kvd (ORCPT ); Mon, 27 Nov 2017 05:51:33 -0500 Received: from mail-wr0-f195.google.com ([209.85.128.195]:46050 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752463AbdK0KtX (ORCPT ); Mon, 27 Nov 2017 05:49:23 -0500 Received: by mail-wr0-f195.google.com with SMTP id a63so25905675wrc.12 for ; Mon, 27 Nov 2017 02:49:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Gzrotbpgp5HiK0d8pFr9oeZvjCNQLT4BXBS+2Ivx89k=; b=KO0dukAvZtcAvsrTEkhSiBHXCMEjHcxLLR8zKrk8mQHkLpuaftD6HamZuHu2uU4qkL V+7HPP9ut3BlTb1nuYSbtOuF0/bLtw8ERgm5mcwSPqpAfsDOmNa0Ssmn2TZ51ZICV5k0 zjPdR/fhoOh7ut7F0jxuCK+avHoFOLlCmhyCy8DO3I98AGk3xSucoH01+jw00e4kDMl6 t9Z8v4XsYH8qXeJ7kWQX6f3t/+8N9vpc9B9VpF/MD8LgyBvN+Fn01ApoTgxOY8+rLGsN XEAMg7StkEkJDvKZ6BsXR07yCkNMmrkGS0SFjISxo2N9J9/wysDbfFASWKGMH2MM3VMj mjFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Gzrotbpgp5HiK0d8pFr9oeZvjCNQLT4BXBS+2Ivx89k=; b=OPs1s4ztH8gQsmJgH+nbH0Z6QJjnxCyciN9rY5O/y94OZKA6t4pbdkQUMKZepwXZVg X2EpLutJi108ccqWBdNKg2v2Fvlkkc2p9FHzGGGAfIqnAz4W6qIfD+ihRJpzzSO76akc isUD6nTCPfoPdQji4nqIz4V2VKtxSPaod2yY/kIa1Wo8OqoY6NowN7QAvx8FJgdn8b/u HaAMm4avpf7fFt2uliu1EkciutHSND/qJPtORmgE1JyNijuuztZRJGcVHuMgm0bKMc/N sfpJqhs1YO7ybU3iaao4L1SymqR/4WcaS6pbLR786YAeO8I/yUnlAcgvn/a2ruhHcPka YBHw== X-Gm-Message-State: AJaThX6Z3rzRRxbLyvv2zwwYa0w50Kav2cYpFHHLKlreEwSXjqE94sBy 7EoBtXGGXMUU3cnK64dBbEpsLw== X-Google-Smtp-Source: AGs4zMYDIE3C3bGFVixywdlQ0dC9Wu/rWoMnZsjWSyoiEZM94D4Luw0ZrRa1lavMrl6Km3kitTsXVw== X-Received: by 10.223.136.38 with SMTP id d35mr30735317wrd.36.1511779762356; Mon, 27 Nov 2017 02:49:22 -0800 (PST) Received: from bgdev-debian.local ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id 68sm21071741wmh.2.2017.11.27.02.49.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Nov 2017 02:49:21 -0800 (PST) From: Bartosz Golaszewski To: Linus Walleij , Bamvor Jian Zhang Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH 13/18] gpio: mockup: verify that ngpio > 0 Date: Mon, 27 Nov 2017 11:48:49 +0100 Message-Id: <20171127104854.333-14-brgl@bgdev.pl> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20171127104854.333-1-brgl@bgdev.pl> References: <20171127104854.333-1-brgl@bgdev.pl> Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org Improve the module params sanitization: bail out from init if the user tries to pass a non-positive number of GPIO lines for any mockup chip. Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpio-mockup.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c index 68a0c1e06a16..532f5807390b 100644 --- a/drivers/gpio/gpio-mockup.c +++ b/drivers/gpio/gpio-mockup.c @@ -335,6 +335,15 @@ static int __init gpio_mockup_init(void) /* Each chip is described by two values. */ num_chips = gpio_mockup_params_nr / 2; + /* + * The second value in the pair must + * always be greater than 0. + */ + for (i = 0; i < num_chips; i++) { + if (gpio_mockup_ranges[i * 2 + 1] < 0) + return -EINVAL; + } + gpio_mockup_dbg_dir = debugfs_create_dir("gpio-mockup-event", NULL); if (IS_ERR_OR_NULL(gpio_mockup_dbg_dir)) gpio_mockup_err("error creating debugfs directory\n");