diff options
author | Paolo Abeni <pabeni@redhat.com> | 2024-02-08 19:03:52 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2024-02-12 10:08:13 +0000 |
commit | e4a0fa47e816e186f6b4c0055d07eeec42d11871 (patch) | |
tree | 4a4113cab6f7e706de9a9355ea85bbca245d6bef /include | |
parent | 3f83d8a77eeeb47011b990fd766a421ee64f1d73 (diff) |
mptcp: corner case locking for rx path fields initialization
Most MPTCP-level related fields are under the mptcp data lock
protection, but are written one-off without such lock at MPC
complete time, both for the client and the server
Leverage the mptcp_propagate_state() infrastructure to move such
initialization under the proper lock client-wise.
The server side critical init steps are done by
mptcp_subflow_fully_established(): ensure the caller properly held the
relevant lock, and avoid acquiring the same lock in the nested scopes.
There are no real potential races, as write access to such fields
is implicitly serialized by the MPTCP state machine; the primary
goal is consistency.
Fixes: d22f4988ffec ("mptcp: process MP_CAPABLE data option")
Cc: stable@vger.kernel.org
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>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions