mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
net: annotate data-races around sk->sk_bind_phc
sk->sk_bind_phc is read locklessly. Add corresponding annotations.
Fixes: d463126e23
("net: sock: extend SO_TIMESTAMPING for PHC binding")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e3390b30a5
commit
251cd405a9
@ -894,7 +894,7 @@ static int sock_timestamping_bind_phc(struct sock *sk, int phc_index)
|
||||
if (!match)
|
||||
return -EINVAL;
|
||||
|
||||
sk->sk_bind_phc = phc_index;
|
||||
WRITE_ONCE(sk->sk_bind_phc, phc_index);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1720,7 +1720,7 @@ int sk_getsockopt(struct sock *sk, int level, int optname,
|
||||
case SO_TIMESTAMPING_OLD:
|
||||
lv = sizeof(v.timestamping);
|
||||
v.timestamping.flags = READ_ONCE(sk->sk_tsflags);
|
||||
v.timestamping.bind_phc = sk->sk_bind_phc;
|
||||
v.timestamping.bind_phc = READ_ONCE(sk->sk_bind_phc);
|
||||
break;
|
||||
|
||||
case SO_RCVTIMEO_OLD:
|
||||
|
@ -939,7 +939,7 @@ void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk,
|
||||
|
||||
if (tsflags & SOF_TIMESTAMPING_BIND_PHC)
|
||||
hwtstamp = ptp_convert_timestamp(&hwtstamp,
|
||||
sk->sk_bind_phc);
|
||||
READ_ONCE(sk->sk_bind_phc));
|
||||
|
||||
if (ktime_to_timespec64_cond(hwtstamp, tss.ts + 2)) {
|
||||
empty = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user