I think you've misunderstood the patch. The problem is that:
char wibble = -1;
...
if (wibble == -1)
printk("wibble is -1\n");
else
printk("wibble is not -1\n");
will always print "wibble is not -1" on a native unsigned char machine.
This is a bug, which occurs very often when people don't keep their wits
about them when using "char" to represent signed numbers. Philip's patch
solves those discovered in the kernel thus far.
Unfortunately, people forget about signed-ness issues. I actually wish
that GCC would warn more about this type of unportable code. (eg,
detecting an assignment or test between a bare "char" type and a
negative number).
_____
|_____| ------------------------------------------------- ---+---+-
| | Russell King rmk@arm.linux.org.uk --- ---
| | | | http://www.arm.linux.org.uk/~rmk/aboutme.html / / |
| +-+-+ --- -+-
/ | THE developer of ARM Linux |+| /|\
/ | | | --- |
+-+-+ ------------------------------------------------- /\\\ |
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/