Input: add safety guards to input_set_keycode()

commit cb222aed03d798fc074be55e59d9a112338ee784 upstream.

If we happen to have a garbage in input device's keycode table with values
too big we'll end up doing clear_bit() with offset way outside of our
bitmaps, damaging other objects within an input device or even outside of
it. Let's add sanity checks to the returned old keycodes.

Signed-off-by: Dmitry Torokhov <>
Signed-off-by: Greg Kroah-Hartman <>
Cc: Lee Jones <>
Signed-off-by: Greg Kroah-Hartman <>
Change-Id: I41054e1b813f14518498ff10cbfc9f90b3edd62b
1 file changed