Re: 2.6.36/2.6.37: broken compatibility with userspace input-utils ?

Linus Torvalds
2011-01-25T20:10:41Z

On Wed, Jan 26, 2011 at 2:48 AM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
>
> We should be able to handle the case where scancode is valid even though
> it might be unmapped yet. This is regardless of what version of
> EVIOCGKEYCODE we use, 1 or 2, and whether it is sparse keymap or not.
>
> Is it possible to validate the scancode by driver?

More appropriately, why not just revert the thing? The version change
and the buggy EINVAL return both.

As Mark said, breaking user space simply isn't acceptable. And since
breaking user space isn't acceptable, then incrementing the version is
stupid too.

The way we add new ioctl's is not by incrementing some "ABI version"
crap. It's by adding new ioctl's or system calls or whatever that
simply used to return -ENOSYS or other error before, while preserving
the old ABI. That way old binaries don't break (for _ANY_ reason), and
new binaries can see "oh, this doesn't support the new thing".

Linus