mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 09:12:07 +00:00
ipv6: avoid indirect calls for SOL_IP socket options
ipv6_setsockopt() can directly call ip_setsockopt() instead of going through udp_prot.setsockopt() ipv6_getsockopt() can directly call ip_getsockopt() instead of going through udp_prot.getsockopt() These indirections predate git history, not sure why they were there. Signed-off-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20240823140019.3727643-1-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
9ceebd7a26
commit
89683b45f1
@ -985,7 +985,7 @@ int ipv6_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval,
|
|||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (level == SOL_IP && sk->sk_type != SOCK_RAW)
|
if (level == SOL_IP && sk->sk_type != SOCK_RAW)
|
||||||
return udp_prot.setsockopt(sk, level, optname, optval, optlen);
|
return ip_setsockopt(sk, level, optname, optval, optlen);
|
||||||
|
|
||||||
if (level != SOL_IPV6)
|
if (level != SOL_IPV6)
|
||||||
return -ENOPROTOOPT;
|
return -ENOPROTOOPT;
|
||||||
@ -1475,7 +1475,7 @@ int ipv6_getsockopt(struct sock *sk, int level, int optname,
|
|||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (level == SOL_IP && sk->sk_type != SOCK_RAW)
|
if (level == SOL_IP && sk->sk_type != SOCK_RAW)
|
||||||
return udp_prot.getsockopt(sk, level, optname, optval, optlen);
|
return ip_getsockopt(sk, level, optname, optval, optlen);
|
||||||
|
|
||||||
if (level != SOL_IPV6)
|
if (level != SOL_IPV6)
|
||||||
return -ENOPROTOOPT;
|
return -ENOPROTOOPT;
|
||||||
|
Loading…
Reference in New Issue
Block a user