Lines Matching refs:sk2
91 bool inet_rcv_saddr_equal(const struct sock *sk, const struct sock *sk2,
97 inet6_rcv_saddr(sk2),
99 sk2->sk_rcv_saddr,
101 ipv6_only_sock(sk2),
106 return ipv4_rcv_saddr_equal(sk->sk_rcv_saddr, sk2->sk_rcv_saddr,
107 ipv6_only_sock(sk2), match_wildcard,
138 struct sock *sk2;
150 sk_for_each_bound(sk2, &tb->owners) {
153 if (sk == sk2)
155 bound_dev_if2 = READ_ONCE(sk2->sk_bound_dev_if);
159 if (reuse && sk2->sk_reuse &&
160 sk2->sk_state != TCP_LISTEN) {
163 reuseport && sk2->sk_reuseport &&
165 (sk2->sk_state == TCP_TIME_WAIT ||
166 uid_eq(uid, sock_i_uid(sk2))))) &&
167 inet_rcv_saddr_equal(sk, sk2, true))
170 !reuseport || !sk2->sk_reuseport ||
172 (sk2->sk_state != TCP_TIME_WAIT &&
173 !uid_eq(uid, sock_i_uid(sk2)))) {
174 if (inet_rcv_saddr_equal(sk, sk2, true))
179 return sk2 != NULL;