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