Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967996AbdD0HdF (ORCPT ); Thu, 27 Apr 2017 03:33:05 -0400 Received: from sci-ig2.spreadtrum.com ([222.66.158.135]:32449 "EHLO SHSQR01.spreadtrum.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S965186AbdD0HdA (ORCPT ); Thu, 27 Apr 2017 03:33:00 -0400 Date: Thu, 27 Apr 2017 15:29:12 +0800 From: Orson Zhai To: Jonathan Cameron CC: , , , , Subject: Re: [PATCH] iio: core: Fix suspicious sizeof usage Message-ID: <20170427072911.GB32300@spreadtrum.com> Mail-Followup-To: Jonathan Cameron , knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net, linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org References: <1493083016-20571-1-git-send-email-orson.zhai@spreadtrum.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-MAIL: SHSQR01.spreadtrum.com v3R7VXDT007643 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1838 Lines: 51 On Thu, Apr 27, 2017 at 06:32:22AM +0100, Jonathan Cameron wrote: > On 25/04/17 02:16, Orson Zhai wrote: > > Pointer size is variours in different system, say 32bit for 4 and 64bit > > for 8. The 'sizeof(infomask)' may lead to wrong bit numbers. > > > > Signed-off-by: Orson Zhai > That's certainly been there a while. oops. > > Anyhow, whilst clearly garbage, it doesn't actually have an effect > at the moment due to the relatively small number of bits that can be > set and the fact this is limited by 32 bit platforms anyway. > > So applied to the togreg branch of iio.git and pushed out as > testing for the auto builders to play with it. Thank you! -Orson > > Thanks, > > Jonathan > > --- > > drivers/iio/industrialio-core.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c > > index 3ff91e0..795f53c 100644 > > --- a/drivers/iio/industrialio-core.c > > +++ b/drivers/iio/industrialio-core.c > > @@ -1089,7 +1089,7 @@ static int iio_device_add_info_mask_type(struct iio_dev *indio_dev, > > { > > int i, ret, attrcount = 0; > > > > - for_each_set_bit(i, infomask, sizeof(infomask)*8) { > > + for_each_set_bit(i, infomask, sizeof(*infomask)*8) { > > if (i >= ARRAY_SIZE(iio_chan_info_postfix)) > > return -EINVAL; > > ret = __iio_add_chan_devattr(iio_chan_info_postfix[i], > > @@ -1118,7 +1118,7 @@ static int iio_device_add_info_mask_type_avail(struct iio_dev *indio_dev, > > int i, ret, attrcount = 0; > > char *avail_postfix; > > > > - for_each_set_bit(i, infomask, sizeof(infomask) * 8) { > > + for_each_set_bit(i, infomask, sizeof(*infomask) * 8) { > > avail_postfix = kasprintf(GFP_KERNEL, > > "%s_available", > > iio_chan_info_postfix[i]); > > >