]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/char/keyboard.c
Input: fix checking whether new keycode fits size-wise
[karo-tx-linux.git] / drivers / char / keyboard.c
index 523fd3c8bbaa75dd345224799990ec0c4f4e5e93..1ddaabeb8ef89acc25ae47262179077fe5d0deea 100644 (file)
@@ -200,7 +200,7 @@ int setkeycode(unsigned int scancode, unsigned int keycode)
                return -EINVAL;
        if (keycode < 0 || keycode > KEY_MAX)
                return -EINVAL;
-       if (keycode >> (dev->keycodesize * 8))
+       if (dev->keycodesize < sizeof(keycode) && (keycode >> (dev->keycodesize * 8)))
                return -EINVAL;
 
        oldkey = SET_INPUT_KEYCODE(dev, scancode, keycode);