Lines Matching defs: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),
105 return ipv4_rcv_saddr_equal(sk->sk_rcv_saddr, sk2->sk_rcv_saddr,
106 ipv6_only_sock(sk2), match_wildcard,
170 static bool inet_bind_conflict(const struct sock *sk, struct sock *sk2,
176 if (sk == sk2)
179 bound_dev_if2 = READ_ONCE(sk2->sk_bound_dev_if);
183 if (sk->sk_reuse && sk2->sk_reuse &&
184 sk2->sk_state != TCP_LISTEN) {
186 sk2->sk_reuseport && reuseport_cb_ok &&
187 (sk2->sk_state == TCP_TIME_WAIT ||
188 uid_eq(uid, sk_uid(sk2)))))
191 !sk2->sk_reuseport || !reuseport_cb_ok ||
192 (sk2->sk_state != TCP_TIME_WAIT &&
193 !uid_eq(uid, sk_uid(sk2)))) {
200 static bool __inet_bhash2_conflict(const struct sock *sk, struct sock *sk2,
204 if (ipv6_only_sock(sk2)) {
214 return inet_bind_conflict(sk, sk2, uid, relax,
224 struct sock *sk2;
226 sk_for_each_bound(sk2, &tb2->owners) {
227 if (__inet_bhash2_conflict(sk, sk2, uid, relax,
248 struct sock *sk2;
270 sk_for_each_bound_bhash(sk2, tb2, tb) {
271 if (!inet_bind_conflict(sk, sk2, uid, relax, reuseport_cb_ok, reuseport_ok))
274 if (inet_rcv_saddr_equal(sk, sk2, true))