On Thu, 28 Mar 2024, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@xxxxxxxx> > > Depending on the value of CONFIG_HZ, clang compares about a pointless > comparison: > > drivers/md/dm-integrity.c:4085:12: error: result of comparison of constant 42949672950 with expression of type 'unsigned int' is always false [-Werror,-Wtautological-constant-out-of-range-compare] > if (val >= (uint64_t)UINT_MAX * 1000 / HZ) { > > As the check remains useful for other configurations, shut up the > warning by adding a second type cast to uint64_t. > > Fixes: 468dfca38b1a ("dm integrity: add a bitmap mode") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> > --- > drivers/md/dm-integrity.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/md/dm-integrity.c b/drivers/md/dm-integrity.c > index 37b9f8f1ae1a..7f3dc8ee6ab8 100644 > --- a/drivers/md/dm-integrity.c > +++ b/drivers/md/dm-integrity.c > @@ -4221,7 +4221,7 @@ static int dm_integrity_ctr(struct dm_target *ti, unsigned int argc, char **argv > } else if (sscanf(opt_string, "sectors_per_bit:%llu%c", &llval, &dummy) == 1) { > log2_sectors_per_bitmap_bit = !llval ? 0 : __ilog2_u64(llval); > } else if (sscanf(opt_string, "bitmap_flush_interval:%u%c", &val, &dummy) == 1) { > - if (val >= (uint64_t)UINT_MAX * 1000 / HZ) { > + if ((uint64_t)val >= (uint64_t)UINT_MAX * 1000 / HZ) { > r = -EINVAL; > ti->error = "Invalid bitmap_flush_interval argument"; > goto bad; > -- > 2.39.2 >