Re: [PATCH 06/10] mfd: ab3100-core: Fix incompatible types in comparison expression warning

From: Linus Walleij
Date: Tue Jul 07 2020 - 08:33:51 EST


On Wed, Jun 24, 2020 at 5:07 PM Lee Jones <lee.jones@xxxxxxxxxx> wrote:

> Smatch reports:
>
> drivers/mfd/ab3100-core.c:501:20: error: incompatible types in comparison expression (different type sizes):
> drivers/mfd/ab3100-core.c:501:20: unsigned int *
> drivers/mfd/ab3100-core.c:501:20: unsigned long *
> drivers/mfd/ab8500-debugfs.c:1804:20: error: incompatible types in comparison expression (different type sizes):
> drivers/mfd/ab8500-debugfs.c:1804:20: unsigned int *
> drivers/mfd/ab8500-debugfs.c:1804:20: unsigned long *
>
> Since the second min() argument can be less than 0 a signed
> variable is required for assignment. However, the non-sized
> type size_t is passed in from the userspace handlers. In order
> to firstly compare, then assign the smallest value, we firstly
> need to cast them both to the same as the receiving size_t typed
> variable.
>
> Cc: <stable@xxxxxxxxxxxxxxx>
> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>

Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

Yours,
Linus Walleij