On Wed, Apr 23, 2014 at 10:27:20PM -0700, Dmitry Torokhov wrote: > We put this workaround in 2008 and the offending userspace has been fixed > up long time ago; the link in the message is no longer valid either, so it > is time to retire it. > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> works for me, Reviewed-by: Peter Hutterer <peter.hutterer@xxxxxxxxx> Cheers, Peter > --- > drivers/input/evdev.c | 18 ------------------ > 1 file changed, 18 deletions(-) > > diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c > index ce953d8..fd325ec 100644 > --- a/drivers/input/evdev.c > +++ b/drivers/input/evdev.c > @@ -629,12 +629,10 @@ static int str_to_user(const char *str, unsigned int maxlen, void __user *p) > return copy_to_user(p, str, len) ? -EFAULT : len; > } > > -#define OLD_KEY_MAX 0x1ff > static int handle_eviocgbit(struct input_dev *dev, > unsigned int type, unsigned int size, > void __user *p, int compat_mode) > { > - static unsigned long keymax_warn_time; > unsigned long *bits; > int len; > > @@ -652,24 +650,8 @@ static int handle_eviocgbit(struct input_dev *dev, > default: return -EINVAL; > } > > - /* > - * Work around bugs in userspace programs that like to do > - * EVIOCGBIT(EV_KEY, KEY_MAX) and not realize that 'len' > - * should be in bytes, not in bits. > - */ > - if (type == EV_KEY && size == OLD_KEY_MAX) { > - len = OLD_KEY_MAX; > - if (printk_timed_ratelimit(&keymax_warn_time, 10 * 1000)) > - pr_warning("(EVIOCGBIT): Suspicious buffer size %u, " > - "limiting output to %zu bytes. See " > - "http://userweb.kernel.org/~dtor/eviocgbit-bug.html\n", > - OLD_KEY_MAX, > - BITS_TO_LONGS(OLD_KEY_MAX) * sizeof(long)); > - } > - > return bits_to_user(bits, len, size, p, compat_mode); > } > -#undef OLD_KEY_MAX > > static int evdev_handle_get_keycode(struct input_dev *dev, void __user *p) > { > -- > 1.9.0 > > > -- > Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html