Skip to content

Commit

Permalink
net: __sock_gen_cookie() cleanup
Browse files Browse the repository at this point in the history
Adopt atomic64_try_cmpxchg() and remove the loop,
to make the intent more obvious.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Eric Dumazet authored and David S. Miller committed Nov 16, 2022
1 parent 4ffa1d1 commit 4ebf802
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions net/core/sock_diag.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ DEFINE_COOKIE(sock_cookie);

u64 __sock_gen_cookie(struct sock *sk)
{
while (1) {
u64 res = atomic64_read(&sk->sk_cookie);
u64 res = atomic64_read(&sk->sk_cookie);

if (res)
return res;
res = gen_cookie_next(&sock_cookie);
atomic64_cmpxchg(&sk->sk_cookie, 0, res);
if (!res) {
u64 new = gen_cookie_next(&sock_cookie);

atomic64_try_cmpxchg(&sk->sk_cookie, &res, new);
}
return res;
}

int sock_diag_check_cookie(struct sock *sk, const __u32 *cookie)
Expand Down

0 comments on commit 4ebf802

Please sign in to comment.