Double-check that all relevant call sites are filtered when sockets are
managed by userspace.
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
---
net/mptcp/pm_netlink.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index 434049836707..affa84099bdd 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -468,6 +468,8 @@ static void mptcp_pm_create_subflow_or_signal_addr(struct mptcp_sock *msk)
struct pm_nl_pernet *pernet;
unsigned int subflows_max;
+ WARN_ON_ONCE(READ_ONCE(msk->pm.userspace));
+
pernet = net_generic(sock_net(sk), pm_nl_pernet_id);
add_addr_signal_max = mptcp_pm_get_add_addr_signal_max(msk);
@@ -700,6 +702,8 @@ static void mptcp_pm_nl_rm_addr_or_subflow(struct mptcp_sock *msk,
msk_owned_by_me(msk);
+ WARN_ON_ONCE(READ_ONCE(msk->pm.userspace));
+
if (!rm_list->nr)
return;
@@ -1244,6 +1248,8 @@ static bool mptcp_pm_remove_anno_addr(struct mptcp_sock *msk,
struct mptcp_rm_list list = { .nr = 0 };
bool ret;
+ WARN_ON_ONCE(READ_ONCE(msk->pm.userspace));
+
list.ids[list.nr++] = addr->id;
ret = remove_anno_list_by_saddr(msk, addr);
--
2.33.0