summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeliang Tang <tanggeliang@kylinos.cn>2025-02-28 15:38:37 +0100
committerJakub Kicinski <kuba@kernel.org>2025-03-04 16:57:38 -0800
commite85d33b35508da7e7570c0b54f007b59e205f623 (patch)
treed0b702b81534ac94edb46408072b4991a2ff4342
parentba24001665704d27976a2f190cd8361e339f8581 (diff)
mptcp: pm: in-kernel: avoid access entry without lock
In mptcp_pm_nl_set_flags(), "entry" is copied to "local" when pernet->lock is held to avoid direct access to entry without pernet->lock. Therefore, "local->flags" should be passed to mptcp_nl_set_flags instead of "entry->flags" when pernet->lock is not held, so as to avoid access to entry. Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn> Fixes: 145dc6cc4abd ("mptcp: pm: change to fullmesh only for 'subflow'") Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org> Link: https://patch.msgid.link/20250228-net-next-mptcp-coverage-small-opti-v1-3-f933c4275676@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--net/mptcp/pm_netlink.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index d4328443d844..fb83eba041f1 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -1983,7 +1983,7 @@ int mptcp_pm_nl_set_flags(struct mptcp_pm_addr_entry *local,
*local = *entry;
spin_unlock_bh(&pernet->lock);
- mptcp_nl_set_flags(net, &local->addr, entry->flags, changed);
+ mptcp_nl_set_flags(net, &local->addr, local->flags, changed);
return 0;
}