Thread (38 messages) 38 messages, 2 authors, 2022-01-08

Re: [PATCH v11 09/15] iio: afe: rescale: reduce risk of integer overflow

From: Andy Shevchenko <hidden>
Date: 2021-12-22 12:31:06
Also in: linux-iio, lkml

On Wed, Dec 22, 2021 at 5:47 AM Liam Beguin [off-list ref] wrote:
From: Liam Beguin <redacted>

Reduce the risk of integer overflow by doing the scale calculation on
a 64-bit integer. Since the rescaling is only performed on *val, reuse
the IIO_VAL_FRACTIONAL_LOG2 case.
...
-               tmp = 1 << *val2;
At some point this should be BIT()
Rule of thumb (in accordance with C standard), always use unsigned
value as left operand of the _left_ shift.
+               if (scale_type == IIO_VAL_FRACTIONAL)
+                       tmp = *val2;
+               else
+                       tmp = 1 << *val2;

-- 
With Best Regards,
Andy Shevchenko
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help