mptcp: annotate lockless accesses around read-mostly fields
The following MPTCP socket fields: - can_ack - fully_established - rcv_data_fin - snd_data_fin_enable - rcv_fastclose - use_64bit_ack are accessed without any lock, add the appropriate annotation. The schema is safe as each field can change its value at most once in the whole mptcp socket life cycle. Signed-off-by: Paolo Abeni <pabeni@redhat.com> Reviewed-by: Mat Martineau <martineau@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b9f4554356
commit
28e5c13805
|
@ -3149,16 +3149,16 @@ static int mptcp_disconnect(struct sock *sk, int flags)
|
|||
msk->cb_flags = 0;
|
||||
msk->push_pending = 0;
|
||||
msk->recovery = false;
|
||||
msk->can_ack = false;
|
||||
msk->fully_established = false;
|
||||
msk->rcv_data_fin = false;
|
||||
msk->snd_data_fin_enable = false;
|
||||
msk->rcv_fastclose = false;
|
||||
msk->use_64bit_ack = false;
|
||||
msk->bytes_consumed = 0;
|
||||
WRITE_ONCE(msk->can_ack, false);
|
||||
WRITE_ONCE(msk->fully_established, false);
|
||||
WRITE_ONCE(msk->rcv_data_fin, false);
|
||||
WRITE_ONCE(msk->snd_data_fin_enable, false);
|
||||
WRITE_ONCE(msk->rcv_fastclose, false);
|
||||
WRITE_ONCE(msk->use_64bit_ack, false);
|
||||
WRITE_ONCE(msk->csum_enabled, mptcp_is_checksum_enabled(sock_net(sk)));
|
||||
mptcp_pm_data_reset(msk);
|
||||
mptcp_ca_reset(sk);
|
||||
msk->bytes_consumed = 0;
|
||||
msk->bytes_acked = 0;
|
||||
msk->bytes_received = 0;
|
||||
msk->bytes_sent = 0;
|
||||
|
|
|
@ -942,7 +942,7 @@ void mptcp_diag_fill_info(struct mptcp_sock *msk, struct mptcp_info *info)
|
|||
mptcp_data_unlock(sk);
|
||||
|
||||
slow = lock_sock_fast(sk);
|
||||
info->mptcpi_csum_enabled = msk->csum_enabled;
|
||||
info->mptcpi_csum_enabled = READ_ONCE(msk->csum_enabled);
|
||||
info->mptcpi_token = msk->token;
|
||||
info->mptcpi_write_seq = msk->write_seq;
|
||||
info->mptcpi_retransmits = inet_csk(sk)->icsk_retransmits;
|
||||
|
|
Loading…
Reference in New Issue