[PATCH] man/man3/errno.3: clarify ENOTSUP and EOPNOTSUPP

Askar Safin <[email protected]> Wed, 27 May 2026 18:15:48 +0000
Newsgroups org.kernel.vger.linux-man,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
As revealed by Christian Brauner recently
( https://lore.kernel.org/all/20260527-fotowettbewerb-abwinken-einfach-83db3411945b@brauner/ ),
EOPNOTSUPP is widely used on Linux to mean "Operation not supported",
as opposed to "Operation not supported on socket".

Also, as seen in POSIX issue 8:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/errno.h.html
POSIX doesn't require ENOTSUP and EOPNOTSUPP to be distinct, so
let's update that, too.

Signed-off-by: Askar Safin <[email protected]>
---
 man/man3/errno.3 | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/man/man3/errno.3 b/man/man3/errno.3
index a070dab..fdd2710 100644
--- a/man/man3/errno.3
+++ b/man/man3/errno.3
@@ -477,13 +477,14 @@ Name not unique on network.
 No such device or address (POSIX.1-2001).
 .TP
 .B EOPNOTSUPP
-Operation not supported on socket (POSIX.1-2001).
+Operation not supported (POSIX.1-2001).
+According to POSIX.1 this is "Operation not supported on socket",
+but on Linux it effectively means just "Operation not supported".
 .IP
 .RB ( ENOTSUP
 and
 .B EOPNOTSUPP
-have the same value on Linux, but
-according to POSIX.1 these error values should be distinct.)
+have the same value on Linux.)
 .TP
 .B EOVERFLOW
 Value too large to be stored in data type (POSIX.1-2001).

base-commit: 9a4bfd0e50745c2649b6291db40b58e37c9c1c6b
-- 
2.47.3