Re: [PATCH] hwmon: (amc6821) Fix unsigned expression compared with zero

From: Guenter Roeck
Date: Thu Nov 03 2022 - 11:25:55 EST


On Thu, Nov 03, 2022 at 08:03:35AM -0700, Randy Dunlap wrote:
>
>
> On 11/3/22 07:17, Guenter Roeck wrote:
> > On Wed, Nov 02, 2022 at 07:59:06PM -0700, Randy Dunlap wrote:
> >>
> >>
> >> On 11/2/22 19:27, wangkailong@xxxxxxx wrote:
> >>> Fix the following coccicheck warning:
> >>>
> >>> drivers/hwmon/amc6821.c:215: WARNING: Unsigned expression compared
> >>> with zero: reg > 0
> >>> drivers/hwmon/amc6821.c:228: WARNING: Unsigned expression compared
> >>> with zero: reg > 0
> >>>
> >>> Signed-off-by: KaiLong Wang <wangkailong@xxxxxxx>
> >>
> >> Hm. IDGI. What's wrong with comparing an unsigned value to > 0?
> >> I mean, it could be == 0 or > 0.
> >> Please explain.
> >
> > I don't get it either. The real problem with this driver is that error
> > returns from i2c functions are not checked. However, that problem is not
> > fixed by this patch. That means the patch would change behavior without
> > fixing the actual problem.
> >
> > I wonder what kind of (broken) compiler or analyzer produces above errors.
> > We'll have to watch out for similar broken "fixes".
>
> It says above that it's a coccicheck warning.
>

I see, unsigned_lesser_than_zero.cocci. It actually complains that an
unsigned variable is used to hold the return code of a function which
returns an int. In other words, it really tries to warn that the error
return code from that function is not or not properly checked.
The message is misleading for that situation.

Guenter