From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>,
Mark Lord <kernel@teksavvy.com>,
Linux Kernel <linux-kernel@vger.kernel.org>,
linux-input@vger.kernel.org, linux-media@vger.kernel.org
Subject: Re: 2.6.36/2.6.37: broken compatibility with userspace input-utils ?
Date: Tue, 25 Jan 2011 13:50:39 -0800 [thread overview]
Message-ID: <20110125215039.GB20030@core.coreip.homeip.net> (raw)
In-Reply-To: <AANLkTiknmVaOhvhTXC_5G3m-HDrTJCyqbjOPgnUEFZpA@mail.gmail.com>
On Wed, Jan 26, 2011 at 07:20:07AM +1000, Linus Torvalds wrote:
> On Wed, Jan 26, 2011 at 7:01 AM, Dmitry Torokhov
> <dmitry.torokhov@gmail.com> wrote:
> >
> > BTW, another issue is that evdev's ioctl returns -EINVAL for unknown
> > ioctls so applications would have hard time figuring out whether error
> > returned because of kernel being too old or because they are trying to
> > retrieve/establish invalid mapping if they had to go only by the error
> > code.
>
> So that's just another evdev interface bug.
Huh? I do not have lot of options here as far as error codes go. Invalid
request, invalid data in request - all goes to EINVAL.
>
> > As far as I can see EINVAL is a proper error for unknown ioctls:
> >
> > [dtor@hammer work]$ man 2 ioctl | grep EINVAL
> > EINVAL Request or argp is not valid.
>
> Yeah, there's some confusion there.
>
> The "unknown ioctl" error code is (for traditional reasons) ENOTTY,
> but yes, the EINVAL thing admittedly has a lot of legacy use too.
>
> Inside the kernel, the preferred way to say "I don't recognize that
> ioctl number" is actually ENOIOCTLCMD. That's exactly so that various
> nested ioctl handlers can then tell the difference between "I didn't
> recognize that ioctl" and "I understand what you asked me to do, but
> your arguments were crap".
>
> vfs_ioctl() will then turn ENOIOCTLCMD to EINVAL to return to user space.
OK, so I can change evdev to employ ENOIOCTLCMD where needed, bit that
will not change older kernels where such distinction is needed (as never
kernels do support newer ioctl). And even if I could go back it would
not help since userspace still sees EINVAL only.
--
Dmitry
next prev parent reply other threads:[~2011-01-25 21:50 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-23 17:03 2.6.36/2.6.37: broken compatibility with userspace input-utils ? Mark Lord
2011-01-24 17:54 ` Dmitry Torokhov
2011-01-25 0:32 ` Mark Lord
2011-01-25 0:55 ` Dmitry Torokhov
2011-01-25 4:13 ` Mark Lord
2011-01-25 4:20 ` Dmitry Torokhov
2011-01-25 4:37 ` Mark Lord
2011-01-25 4:43 ` Mark Lord
2011-01-25 4:55 ` Dmitry Torokhov
2011-01-25 5:04 ` Mark Lord
2011-01-25 5:07 ` Mark Lord
2011-01-25 5:15 ` Mark Lord
2011-01-25 5:31 ` Dmitry Torokhov
2011-01-25 6:52 ` Dmitry Torokhov
2011-01-25 14:42 ` Extending rc-core/userspace to handle bigger scancodes - Was: " Mauro Carvalho Chehab
2011-01-25 16:55 ` Dmitry Torokhov
2011-01-26 9:44 ` Mauro Carvalho Chehab
2011-01-25 11:42 ` Mauro Carvalho Chehab
2011-01-25 14:32 ` Mark Lord
2011-01-25 16:48 ` Dmitry Torokhov
2011-01-25 20:09 ` Linus Torvalds
2011-01-25 20:54 ` Dmitry Torokhov
2011-01-25 21:01 ` Dmitry Torokhov
2011-01-25 21:20 ` Linus Torvalds
2011-01-25 21:50 ` Dmitry Torokhov [this message]
2011-01-25 22:00 ` Mauro Carvalho Chehab
2011-01-25 22:22 ` Mark Lord
2011-01-25 23:29 ` Dmitry Torokhov
2011-01-26 2:00 ` Dmitry Torokhov
2011-01-26 11:26 ` Mauro Carvalho Chehab
2011-01-26 13:08 ` Gerd Hoffmann
2011-01-26 14:18 ` Mauro Carvalho Chehab
2011-01-26 14:52 ` Gerd Hoffmann
2011-01-26 16:46 ` Dmitry Torokhov
2011-01-26 16:51 ` Dmitry Torokhov
2011-01-26 17:29 ` Mauro Carvalho Chehab
2011-01-26 18:24 ` Dmitry Torokhov
2011-01-26 19:16 ` Gerd Hoffmann
2011-01-26 19:28 ` Mark Lord
2011-01-26 20:09 ` Gerd Hoffmann
2011-01-26 19:28 ` Mauro Carvalho Chehab
2011-01-26 19:32 ` Dmitry Torokhov
2011-01-26 20:07 ` Gerd Hoffmann
2011-01-26 19:27 ` Mark Lord
2011-01-26 14:58 ` Mark Lord
2011-01-26 17:41 ` Mauro Carvalho Chehab
2011-01-26 17:59 ` Dmitry Torokhov
2011-01-26 19:30 ` Mark Lord
2011-01-26 15:05 ` Mark Lord
2011-01-26 16:44 ` Dmitry Torokhov
2011-01-26 19:31 ` Mark Lord
2011-01-26 19:38 ` Dmitry Torokhov
2011-01-26 17:32 ` Mauro Carvalho Chehab
2011-01-26 19:33 ` Mark Lord
2011-01-26 19:41 ` Dmitry Torokhov
2011-01-26 19:47 ` Mark Lord
2011-01-26 19:50 ` Dmitry Torokhov
2011-01-26 21:41 ` Mark Lord
2011-01-26 21:49 ` Mark Lord
2011-01-26 22:07 ` Dmitry Torokhov
2011-01-26 22:04 ` Dmitry Torokhov
2011-01-27 1:01 ` Mark Lord
2011-01-27 1:07 ` Mark Lord
2011-01-27 2:12 ` Dmitry Torokhov
2011-01-27 3:18 ` Mark Lord
2011-01-27 6:38 ` Dmitry Torokhov
2011-01-27 10:30 ` Mauro Carvalho Chehab
2011-01-27 15:00 ` Mark Lord
2011-01-27 17:21 ` Dmitry Torokhov
2011-01-27 18:58 ` Mauro Carvalho Chehab
2011-01-28 9:39 ` Dmitry Torokhov
2011-01-28 11:55 ` Mauro Carvalho Chehab
2011-01-28 16:40 ` Dmitry Torokhov
2011-01-28 17:01 ` Mauro Carvalho Chehab
2011-01-28 17:33 ` Dmitry Torokhov
2011-01-28 18:15 ` Mauro Carvalho Chehab
2011-01-28 18:34 ` Dmitry Torokhov
2011-01-28 20:53 ` Mark Lord
2011-01-27 14:54 ` Mark Lord
2011-01-27 16:39 ` Dmitry Torokhov
2011-01-27 18:12 ` Mark Lord
2011-01-27 19:53 ` Dmitry Torokhov
2011-01-28 16:42 ` Dmitry Torokhov
2011-01-28 20:55 ` Mark Lord
2011-01-28 21:03 ` Mark Lord
2011-01-28 21:09 ` Dmitry Torokhov
2011-01-25 22:25 ` Linus Torvalds
2011-01-25 5:29 ` Dmitry Torokhov
2011-01-25 14:28 ` Mark Lord
2011-02-02 14:31 ` Chase Douglas
2011-02-02 16:58 ` Dmitry Torokhov
2011-02-02 20:00 ` Chase Douglas
2011-02-02 21:54 ` Mark Lord
2011-02-02 22:04 ` Dmitry Torokhov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110125215039.GB20030@core.coreip.homeip.net \
--to=dmitry.torokhov@gmail.com \
--cc=kernel@teksavvy.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@redhat.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).