Loading net/ipv6/ipv6_sockglue.c +8 −3 Original line number Original line Diff line number Diff line Loading @@ -164,9 +164,14 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname, if (sk->sk_type == SOCK_RAW) if (sk->sk_type == SOCK_RAW) break; break; if (sk->sk_protocol != IPPROTO_UDP && if (sk->sk_protocol == IPPROTO_UDP || sk->sk_protocol != IPPROTO_UDPLITE && sk->sk_protocol == IPPROTO_UDPLITE) { sk->sk_protocol != IPPROTO_TCP) struct udp_sock *up = udp_sk(sk); if (up->pending == AF_INET6) { retv = -EBUSY; break; } } else if (sk->sk_protocol != IPPROTO_TCP) break; break; if (sk->sk_state != TCP_ESTABLISHED) { if (sk->sk_state != TCP_ESTABLISHED) { Loading Loading
net/ipv6/ipv6_sockglue.c +8 −3 Original line number Original line Diff line number Diff line Loading @@ -164,9 +164,14 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname, if (sk->sk_type == SOCK_RAW) if (sk->sk_type == SOCK_RAW) break; break; if (sk->sk_protocol != IPPROTO_UDP && if (sk->sk_protocol == IPPROTO_UDP || sk->sk_protocol != IPPROTO_UDPLITE && sk->sk_protocol == IPPROTO_UDPLITE) { sk->sk_protocol != IPPROTO_TCP) struct udp_sock *up = udp_sk(sk); if (up->pending == AF_INET6) { retv = -EBUSY; break; } } else if (sk->sk_protocol != IPPROTO_TCP) break; break; if (sk->sk_state != TCP_ESTABLISHED) { if (sk->sk_state != TCP_ESTABLISHED) { Loading