From: Antonio Quartulli <antonio@mandelbit.com>
To: linux-iio@vger.kernel.org
Cc: "Antonio Quartulli" <antonio@mandelbit.com>,
"Jean-Baptiste Maneyrol" <jean-baptiste.maneyrol@tdk.com>,
"Jonathan Cameron" <jic23@kernel.org>,
"David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>
Subject: [PATCH] iio: imu: inv_icm42600: fix 64bit multiplication
Date: Wed, 16 Jul 2025 21:22:31 +0200 [thread overview]
Message-ID: <20250716192231.30337-1-antonio@mandelbit.com> (raw)
In inv_icm42600_accel_convert_wom_to_roc() multiplying
`threshold` by `convert` may result in a number requiring more
than 32bit.
In this case, although `value` is 64bit wide, the result is
truncated because the multiplication is performed in the
32bit domain, due to both operands being 32bit long.
Cast the first operand to u64 to ensure the multiplication is
performed in the expected domain.
Fixes: 50cfaa9a46c8 ("iio: imu: inv_icm42600: add WoM support")
Address-Coverity-ID: 1647596 ("Integer handling issues (OVERFLOW_BEFORE_WIDEN)")
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
---
drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
index 7a28051330b7..218bb3eb3dd7 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
@@ -347,7 +347,7 @@ static u64 inv_icm42600_accel_convert_wom_to_roc(unsigned int threshold,
u64 value;
u64 freq_uhz;
- value = threshold * convert;
+ value = (u64)threshold * convert;
freq_uhz = (u64)accel_hz * MICRO + (u64)accel_uhz;
/* compute the differential by multiplying by the frequency */
--
2.49.1
next reply other threads:[~2025-07-16 19:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-16 19:22 Antonio Quartulli [this message]
2025-07-16 19:36 ` [PATCH] iio: imu: inv_icm42600: fix 64bit multiplication Andy Shevchenko
2025-07-16 19:44 ` Antonio Quartulli
2025-07-16 19:52 ` David Lechner
2025-07-16 20:03 ` Antonio Quartulli
2025-07-17 6:21 ` Andy Shevchenko
2025-07-17 7:50 ` Antonio Quartulli
2025-07-17 12:51 ` Andy Shevchenko
2025-07-16 19:38 ` Andy Shevchenko
2025-07-16 19:45 ` Antonio Quartulli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250716192231.30337-1-antonio@mandelbit.com \
--to=antonio@mandelbit.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=jean-baptiste.maneyrol@tdk.com \
--cc=jic23@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=nuno.sa@analog.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox