(bug report) b43: impossible conditions in debugfs

Dan Carpenter dan.carpenter at oracle.com
Thu Nov 26 05:00:34 PST 2015


On Thu, Nov 26, 2015 at 01:32:41PM +0100, Michael Büsch wrote:
> > See also:
> > drivers/net/wireless/broadcom/b43/debugfs.c:346 mmio32write__write_file() warn: impossible condition '(mask > 4294967295) => (0-u32max > u32max)'
> > drivers/net/wireless/broadcom/b43/debugfs.c:346 mmio32write__write_file() warn: impossible condition '(set > 4294967295) => (0-u32max > u32max)'
> 
> 
> 
> Sure. These are intentional.
> The compiler will optimize this out.

Hm...  We try to ignore when people do intentional comparisons with zero
like this:

	if (unsigned_var < 0 || unsigned_var >= 10)
		return -EINVAL;

Because they are obviously harmless and they don't hurt readability.
Also Linus doesn't like removing these.

But what's the point of this?  I have seen these before when I was
checking ide_set_disk_chs() for underflows.  I also reported another one
recently that was exactly the same as this and the guy changed it from
if (x > UINT_MAX) to if (!(x < UINT_MAX))...  I don't get it.

regards,
dan carpenter





More information about the b43-dev mailing list