Messages in this thread | | | Date | Thu, 27 Apr 2017 15:29:12 +0800 | From | Orson Zhai <> | Subject | Re: [PATCH] iio: core: Fix suspicious sizeof usage |
| |
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 <orson.zhai@spreadtrum.com> > 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]); > > >
| |