From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 40901C61DA4 for ; Sat, 11 Mar 2023 19:06:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=whIHhWfGw6n/jx5R8z9vRTuQC4xPCc+TT6V1pdAV+rQ=; b=XijuoeRXzoMy1p m2ETVNpUQCc0iXOevHW8CLmxRzjaAffgMUC3oxI7QPdTYcZgYg6aNVU2rF3c09LANDalIJBaDGNi/ dfovYcbHeDLfJ+QHz3Ny2uqajlEmqwXSskAzX5nBkO7/6oVF9xrFDvf7xCZSggOum4ECmKo5fNAKH AJr+LAdolwkMOe0NfJlQoYn1wf50N1RZ78iNI9IkpehaQvDyS2OQvqtsIOSh+S/Du00vqvsEwUsRK VNO7FkjpOl6XKXJ+MmTnoYEtsQsqTKAJT2xu/wSs6WGDUmnOsuqn7RhhpUe+jsw8/RU6cBFFUDXgf qm6U5fRozbqavC1mCHuA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pb4XP-0015bt-JL; Sat, 11 Mar 2023 19:05:51 +0000 Received: from ams.source.kernel.org ([145.40.68.75]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pb4XM-0015ah-SM for linux-arm-kernel@lists.infradead.org; Sat, 11 Mar 2023 19:05:50 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 43FFFB801B9; Sat, 11 Mar 2023 19:05:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8DB58C433D2; Sat, 11 Mar 2023 19:05:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1678561543; bh=qPIKFEJGZJDWtEu+7/bcEu38Bz9zJE9vsrp4FTLoaXs=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=cGAPRqNfX+wHvWVHnUZMOGZPnZ9oEa5LSWq08/N0U9bO+u9J9ldXgSGSYvaB/9Sns nnwNQ9N0mgmoe+8krfPG5ERkdJspButpa4Wl/g9dw5DMxlDGYsxLCxLoGCTB9CZa1y BBTQlXG0Dxeg0ZdZMF7YecfyUYg62RKcobC+CAU0LSTOOdCo84ZpJpbLDs4XcHQHPF iN3nbkmXg4wsk+prjKXoJCwc3ZiWwcWUqJakAn92+V236sEciDpheVRFDlNi8ip+Y/ xDrhQgJohoYPANUVzGrVWZ6qz0irzyO+CyS6k9eVJjZMOyBFAW+H+HSscwZl7IEQT9 /J9MxukmBOWgA== Date: Sat, 11 Mar 2023 19:05:45 +0000 From: Jonathan Cameron To: James Clark Cc: linux-kernel@vger.kernel.org, linux@roeck-us.net, michal.simek@amd.com, Jonathan Corbet , Jean Delvare , Anand Ashok Dumbre , Lars-Peter Clausen , Michal Simek , Andy Gross , Bjorn Andersson , Konrad Dybcio , Greg Kroah-Hartman , Jiri Slaby , linux-doc@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-serial@vger.kernel.org Subject: Re: [PATCH v2 3/4] iio: adc: Use devm_krealloc_array Message-ID: <20230311190545.4ed8acf8@jic23-huawei> In-Reply-To: <20230309150334.216760-4-james.clark@arm.com> References: <20230309150334.216760-1-james.clark@arm.com> <20230309150334.216760-4-james.clark@arm.com> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.37; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230311_110549_244981_23CA5A03 X-CRM114-Status: GOOD ( 21.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Thu, 9 Mar 2023 15:03:32 +0000 James Clark wrote: > Now that it exists, use it instead of doing the multiplication and > checking for overflow manually. > > Signed-off-by: James Clark Reviewed-by: Jonathan Cameron > --- > drivers/iio/adc/xilinx-ams.c | 9 +++------ > drivers/iio/adc/xilinx-xadc-core.c | 17 +++++++---------- > 2 files changed, 10 insertions(+), 16 deletions(-) > > diff --git a/drivers/iio/adc/xilinx-ams.c b/drivers/iio/adc/xilinx-ams.c > index 34cf336b3490..f0b71a1220e0 100644 > --- a/drivers/iio/adc/xilinx-ams.c > +++ b/drivers/iio/adc/xilinx-ams.c > @@ -1263,7 +1263,7 @@ static int ams_parse_firmware(struct iio_dev *indio_dev) > struct device *dev = indio_dev->dev.parent; > struct fwnode_handle *child = NULL; > struct fwnode_handle *fwnode = dev_fwnode(dev); > - size_t ams_size, dev_size; > + size_t ams_size; > int ret, ch_cnt = 0, i, rising_off, falling_off; > unsigned int num_channels = 0; > > @@ -1320,11 +1320,8 @@ static int ams_parse_firmware(struct iio_dev *indio_dev) > } > } > > - dev_size = array_size(sizeof(*dev_channels), num_channels); > - if (dev_size == SIZE_MAX) > - return -ENOMEM; > - > - dev_channels = devm_krealloc(dev, ams_channels, dev_size, GFP_KERNEL); > + dev_channels = devm_krealloc_array(dev, ams_channels, num_channels, > + sizeof(*dev_channels), GFP_KERNEL); > if (!dev_channels) > return -ENOMEM; > > diff --git a/drivers/iio/adc/xilinx-xadc-core.c b/drivers/iio/adc/xilinx-xadc-core.c > index 292f2892d223..dba73300f894 100644 > --- a/drivers/iio/adc/xilinx-xadc-core.c > +++ b/drivers/iio/adc/xilinx-xadc-core.c > @@ -613,20 +613,17 @@ static int xadc_update_scan_mode(struct iio_dev *indio_dev, > const unsigned long *mask) > { > struct xadc *xadc = iio_priv(indio_dev); > - size_t new_size, n; > + size_t n; > void *data; > > n = bitmap_weight(mask, indio_dev->masklength); > > - if (check_mul_overflow(n, sizeof(*xadc->data), &new_size)) > - return -ENOMEM; > - > - data = devm_krealloc(indio_dev->dev.parent, xadc->data, > - new_size, GFP_KERNEL); > + data = devm_krealloc_array(indio_dev->dev.parent, xadc->data, > + n, sizeof(*xadc->data), GFP_KERNEL); > if (!data) > return -ENOMEM; > > - memset(data, 0, new_size); > + memset(data, 0, n * sizeof(*xadc->data)); > xadc->data = data; > > return 0; > @@ -1281,9 +1278,9 @@ static int xadc_parse_dt(struct iio_dev *indio_dev, unsigned int *conf, int irq) > } > > indio_dev->num_channels = num_channels; > - indio_dev->channels = devm_krealloc(dev, channels, > - sizeof(*channels) * num_channels, > - GFP_KERNEL); > + indio_dev->channels = devm_krealloc_array(dev, channels, > + num_channels, sizeof(*channels), > + GFP_KERNEL); > /* If we can't resize the channels array, just use the original */ > if (!indio_dev->channels) > indio_dev->channels = channels; _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel