Re: [Question] Usage of ENOTSUPP error code

From: Clemens Ladisch
Date: Mon Jul 06 2015 - 03:38:21 EST


Masahiro Yamada wrote:
> I noticed many drivers return -ENOTSUPP on error.
>
> I assume ENOTSUPP is defined in include/linux/errno.h
> as follows:
>
> /* Defined for the NFSv3 protocol */
> ...
> #define ENOTSUPP 524 /* Operation is not supported */
>
> If so, should ENOTSUPP be only used for NFS-related errors?

There is typcially no such restriction.

However, the problem with ENOTSUPP is that it is not defined in
the uapi header, so it will not be known to user space programs.

> In fact, ENOTSUPP is used by various drivers
> including non-network ones such as pinctrl, USB, etc.

If it is possible that the error code shows up for user space, ENOTSUPP
should not be used. Alternatives would be something like ENOTSUP,
EOPNOTSUPP, ENOIOCTLCMD, ENOSYS, or EINVAL.


Regards,
Clemens
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/