keycode is a checked for a value less than zero, but is defined as an unsigned int, and is only called in one place in the kernel, and passed a unsigned int, so this comparison is bogus.
Thanks to LinuxICC (http://linuxicc.sf.net)
This patch applies to Linus' git tree as of 12.11.2005
Signed-off-by: Gabriel A. Devenyi
diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c
index 449d029..6e991ea 100644
--- a/drivers/char/keyboard.c
+++ b/drivers/char/keyboard.c
@@ -198,7 +198,7 @@ int setkeycode(unsigned int scancode, un
if (scancode >= dev->keycodemax)
return -EINVAL;
- if (keycode < 0 || keycode > KEY_MAX)
+ if (keycode > KEY_MAX)
return -EINVAL;
if (dev->keycodesize < sizeof(keycode) && (keycode >> (dev->keycodesize * 8)))
return -EINVAL;
--
Gabriel A. Devenyi
[email protected]