Re: 2.4.21-pre4 comparison bugs (Even More Again)

From: Alan Cox (
Date: Sun Feb 09 2003 - 16:59:32 EST

On Sun, 2003-02-09 at 18:22, Oleg Drokin wrote:
> Hello!
> Ok. In addition to "unsigned_var < 0" kind of error checks that
> never work, there is different non-working kind of checks:
> "pointer < 0".
> We can see these at:
> drivers/char/joystick/tmdc.c:318 if (tmdc->abs[i] < 0) continue;
> drivers/char/epca.c:3758 if (board.port <= 0)
> drivers/char/epca.c:3770 if (board.membase <= 0)
> drivers/media/radio/radio-cadet.c:541 if(request_region(io,2, "cadet-probe")>=0) {
> drivers/net/wan/dscc4.c:1760 if (dscc4_init_dummy_skb(dpriv) < 0)
> Given the fact that you seem not to like casts to signed int,
> how do you propose to fix these?

By actually going and reading the drivers to see why the errors occur
and if they are meaningful. You need to know the possible returns and
the intent of those returns.

Eg radio-cadet request region appears not be a cast problem but a
complete misunderstanding of the return codes. Likewise epca it looks
like the board.port/board.membase are just overbroad checks and in fact

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sat Feb 15 2003 - 22:00:24 EST