Squash to:
[mptcp-next,v7,20/22] mptcp: add netlink pm addr entry refcount
Fix pm_netlink errors reported by CI:
Unstable: 1 failed test(s): selftest_pm_netlink
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/pm_netlink.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index 636fc822a257..06b67e6b80a4 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -533,8 +533,7 @@ static void mptcp_pm_create_subflow_or_signal_addr(struct mptcp_sock *msk)
return;
if (local) {
- if (mptcp_pm_alloc_anno_list(msk, &local->addr) &&
- refcount_inc_not_zero(&local->refcnt)) {
+ if (mptcp_pm_alloc_anno_list(msk, &local->addr)) {
__clear_bit(local->addr.id, msk->pm.id_avail_bitmap);
msk->pm.add_addr_signaled++;
mptcp_pm_announce_addr(msk, &local->addr, false);
@@ -1294,7 +1293,8 @@ int mptcp_pm_nl_add_addr_doit(struct sk_buff *skb, struct genl_info *info)
goto out_free;
}
- mptcp_nl_add_subflow_or_signal_addr(sock_net(skb->sk));
+ if (refcount_inc_not_zero(&entry->refcnt))
+ mptcp_nl_add_subflow_or_signal_addr(sock_net(skb->sk));
return 0;
out_free:
--
2.35.3