RE: [PATCH] comedi: drivers: ni_tio: Fix arithmetic expression overflow

From: David Laight
Date: Thu Jan 18 2024 - 09:40:44 EST




> -----Original Message-----
> From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Sent: 18 January 2024 14:14
> To: Denis Arefev <arefev@xxxxxxxxx>
> Cc: Ian Abbott <abbotti@xxxxxxxxx>; H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx; lvc-project@xxxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] comedi: drivers: ni_tio: Fix arithmetic expression overflow
>
> On Thu, Jan 18, 2024 at 03:37:47PM +0300, Denis Arefev wrote:
> > The value of an arithmetic expression period_ns * 1000 is subject
> > to overflow due to a failure to cast operands to a larger data
> > type before performing arithmetic
> >
> > Found by Linux Verification Center (linuxtesting.org) with SVACE.
> >
> > Fixes: 3e90b1c7ebe9 ("staging: comedi: ni_tio: tidy up ni_tio_set_clock_src() and helpers")
> > Cc: <stable@xxxxxxxxxxxxxxx> # v5.15+
> > Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx>
> > Signed-off-by: Denis Arefev <arefev@xxxxxxxxx>
> > Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx>
> > ---
> > drivers/comedi/drivers/ni_tio.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/comedi/drivers/ni_tio.c b/drivers/comedi/drivers/ni_tio.c
> > index da6826d77e60..acc914903c70 100644
> > --- a/drivers/comedi/drivers/ni_tio.c
> > +++ b/drivers/comedi/drivers/ni_tio.c
> > @@ -800,7 +800,7 @@ static int ni_tio_set_clock_src(struct ni_gpct *counter,
> > GI_PRESCALE_X2(counter_dev->variant) |
> > GI_PRESCALE_X8(counter_dev->variant), bits);
> > }
> > - counter->clock_period_ps = period_ns * 1000;
> > + counter->clock_period_ps = period_ns * 1000UL;

What about 32bit systems...

> > ni_tio_set_sync_mode(counter);
> > return 0;
> > }
> > --
> > 2.25.1
> >
> >
>
> Hi,
>
> This is the friendly patch-bot of Greg Kroah-Hartman. You have sent him
> a patch that has triggered this response. He used to manually respond
> to these common problems, but in order to save his sanity (he kept
> writing the same thing over and over, yet to different people), I was
> created. Hopefully you will not take offence and will fix the problem
> in your patch and resubmit it so that it can be accepted into the Linux
> kernel tree.
>
> You are receiving this message because of the following common error(s)
> as indicated below:
>
> - This looks like a new version of a previously submitted patch, but you
> did not list below the --- line any changes from the previous version.
> Please read the section entitled "The canonical patch format" in the
> kernel file, Documentation/process/submitting-patches.rst for what
> needs to be done here to properly describe this.
>
> If you wish to discuss this problem further, or you have questions about
> how to resolve this issue, please feel free to respond to this email and
> Greg will reply once he has dug out from the pending patches received
> from other developers.
>
> thanks,
>
> greg k-h's patch email bot

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)