For unsupported protocols, setsockopt() with SO_ZEROCOPY
option sets errno to ENOTSUPP(524). But this number is
not defined anywhere in the include/uapi/ headers.

To make sure userspace sees the known number, replace
ENOTSUPP(524) with EOPNOTSUPP(95).

Fixes: 76851d1212c1 ("sock: add SOCK_ZEROCOPY sockopt")
Signed-off-by: Alexey Kodanev <alexey.koda...@oracle.com>
Reported-by: Petr Vorel <pvo...@suse.cz>
---
 net/core/sock.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/core/sock.c b/net/core/sock.c
index 6aa2e7e..f6c57de 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1023,9 +1023,9 @@ int sock_setsockopt(struct socket *sock, int level, int 
optname,
                               sk->sk_protocol == IPPROTO_TCP) ||
                              (sk->sk_type == SOCK_DGRAM &&
                               sk->sk_protocol == IPPROTO_UDP)))
-                               ret = -ENOTSUPP;
+                               ret = -EOPNOTSUPP;
                } else if (sk->sk_family != PF_RDS) {
-                       ret = -ENOTSUPP;
+                       ret = -EOPNOTSUPP;
                }
                if (!ret) {
                        if (val < 0 || val > 1)
-- 
1.8.3.1

Reply via email to