Re: [PATCH v2] New instances of ENOSYS are errors

From: Andy Lutomirski
Date: Mon Aug 25 2014 - 14:38:56 EST

On Aug 25, 2014 3:29 AM, "Pavel Machek" <pavel@xxxxxx> wrote:
> On Fri 2014-08-22 09:26:31, Andy Lutomirski wrote:
> > ENOSYS means that a nonexistent system call was called. We have a
> > bad habit of using it for things like invalid operations on
> > otherwise valid syscalls. We should avoid this in new code.
> Is it good idea? I mean, doing EINVAL for subcalls is pretty
> unhelpful.


The problem is that user code wants to do:

bool foo_wrapper(int op)
if (foo_not_supported)
return false

if (foo(op) != 0) {
if (errno == ENOSYS)
foo_not_supported = true;
return false;

return true;


If FOO_OP_A returns -ENOSYS but FOO_OP_B does not, then this doesn't work.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at