Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp2958131pxb; Mon, 17 Jan 2022 09:00:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJw4Llq6A5lQi7BdYPdbbw4TxqTiSnpV9ToB9ZupFnyI49aWOp8Kzt9z5x4eUN3+2VWOMiCl X-Received: by 2002:a17:903:11cf:b0:149:a17a:361b with SMTP id q15-20020a17090311cf00b00149a17a361bmr23528103plh.146.1642438855603; Mon, 17 Jan 2022 09:00:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642438855; cv=none; d=google.com; s=arc-20160816; b=MD1yxblv/qiYsOeMmcoYle6xq1cwKC6/HN1Elh22B43Zw6nfoodg5IE8O7+ydEhghS qJE4+OlB5QLDeXdoSAr1iLq563PerMsbJHbgTJ+R/3qC3GAYi7l862KRBXXvzxiTW/d/ qXFwPzb4YFueYAJY6RYpaxld6rOok2HPtWsACMIfO7LJAt6fOb+pkftanuvJj7bNY+hX ucTq947UsFYsnSsF8leHDuganjyexkwwcyF4hHfIQ+LbGCfAcgqdaG94db2lyJ3eJnT0 FKFDu7wdflvCXXg2n0w/15TRYcCj7P1pkvhhBu+Cif7/5FWejedJ4kGehy3yF7+9hx3w vzEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=swW8wHX2568AaBaawqrznTQ+QzOSsX3oynlaZrFRAZY=; b=R8tQ2MSftPoIE3ql0nR/JMt8j5j6KRqYQE+DSZJxWi/md2K1XGIcXYrY5MTGt9FWIz VYL5LId1QfdLrgKpfsSVtdpLio/rsvOaPLzyW7GAUPYAYML0gxlHyxbVfJAVzhXRdCYc jHv0A0wgUJvYaj9xPuAoEimHaZOh85DbeE1DuWSDIJm98tzM74kAUEXLJC4Wzkt3J027 dR4C0FGV1+4hG24r2u0pTQ06YE0V/a071g/NaIXsKLcdYMw1vYMcMUKnMSO8kk2ofFON BE/UCM68BUcsQmnQGIUgpheVAFgoKXhXNLuK9adIRtiJWNJ+HjXqmBF3XdiIlkJDzN+F wsUg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m9si14991934plt.398.2022.01.17.09.00.39; Mon, 17 Jan 2022 09:00:55 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238151AbiAQI3C (ORCPT + 99 others); Mon, 17 Jan 2022 03:29:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238138AbiAQI3B (ORCPT ); Mon, 17 Jan 2022 03:29:01 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A2972C061574 for ; Mon, 17 Jan 2022 00:29:01 -0800 (PST) Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n9NNm-0007eS-Fs; Mon, 17 Jan 2022 09:28:54 +0100 Received: from ore by dude.hi.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1n9NNl-00E8vt-QK; Mon, 17 Jan 2022 09:28:53 +0100 From: Oleksij Rempel To: Jonathan Cameron Cc: Oleksij Rempel , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Pengutronix Kernel Team , David Jander , Robin van der Gracht , linux-iio@vger.kernel.org, Lars-Peter Clausen Subject: [PATCH v3 2/2] iio: adc: tsc2046: add sanity check to avoid to big allocations Date: Mon, 17 Jan 2022 09:28:52 +0100 Message-Id: <20220117082852.3370869-2-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220117082852.3370869-1-o.rempel@pengutronix.de> References: <20220117082852.3370869-1-o.rempel@pengutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::7 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org To avoid problematic devicetree configurations. Set allocation limit with error message and suggestion on what can be done to solve this issue. Signed-off-by: Oleksij Rempel --- drivers/iio/adc/ti-tsc2046.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/iio/adc/ti-tsc2046.c b/drivers/iio/adc/ti-tsc2046.c index 95771ceba206..55b35570ad8b 100644 --- a/drivers/iio/adc/ti-tsc2046.c +++ b/drivers/iio/adc/ti-tsc2046.c @@ -679,6 +679,12 @@ static int tsc2046_adc_setup_spi_msg(struct tsc2046_adc_priv *priv) for (ch_idx = 0; ch_idx < ARRAY_SIZE(priv->l); ch_idx++) size += tsc2046_adc_group_set_layout(priv, ch_idx, ch_idx); + if (size > PAGE_SIZE) { + dev_err(&priv->spi->dev, + "Calculated scan buffer is too big. Try to reduce spi-max-frequency, settling-time-us or oversampling-ratio\n"); + return -ENOSPC; + } + priv->tx = devm_kzalloc(&priv->spi->dev, size, GFP_KERNEL); if (!priv->tx) return -ENOMEM; -- 2.30.2