soreuseport: fix use of uid in tb->fastuid
Fix a reported compilation error where ia variable of type kuid_t was being set to zero. Eliminate two instances of setting tb->fastuid to zero. tb->fastuid is only used if tb->fastreuseport is set, so there should be no problem if tb->fastuid is not initialized (when tb->fastreuesport is zero). Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5588d3742d
commit
9c5e0c0bbc
|
@ -204,7 +204,8 @@ tb_found:
|
|||
ret = 1;
|
||||
if (inet_csk(sk)->icsk_af_ops->bind_conflict(sk, tb, true)) {
|
||||
if (((sk->sk_reuse && sk->sk_state != TCP_LISTEN) ||
|
||||
(sk->sk_reuseport && uid_eq(tb->fastuid, uid))) &&
|
||||
(tb->fastreuseport > 0 &&
|
||||
sk->sk_reuseport && uid_eq(tb->fastuid, uid))) &&
|
||||
smallest_size != -1 && --attempts >= 0) {
|
||||
spin_unlock(&head->lock);
|
||||
goto again;
|
||||
|
@ -227,19 +228,15 @@ tb_not_found:
|
|||
if (sk->sk_reuseport) {
|
||||
tb->fastreuseport = 1;
|
||||
tb->fastuid = uid;
|
||||
} else {
|
||||
} else
|
||||
tb->fastreuseport = 0;
|
||||
tb->fastuid = 0;
|
||||
}
|
||||
} else {
|
||||
if (tb->fastreuse &&
|
||||
(!sk->sk_reuse || sk->sk_state == TCP_LISTEN))
|
||||
tb->fastreuse = 0;
|
||||
if (tb->fastreuseport &&
|
||||
(!sk->sk_reuseport || !uid_eq(tb->fastuid, uid))) {
|
||||
(!sk->sk_reuseport || !uid_eq(tb->fastuid, uid)))
|
||||
tb->fastreuseport = 0;
|
||||
tb->fastuid = 0;
|
||||
}
|
||||
}
|
||||
success:
|
||||
if (!inet_csk(sk)->icsk_bind_hash)
|
||||
|
|
Loading…
Reference in New Issue