]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mptcp: pm: drop info of userspace_pm_remove_id_zero_address
authorGeliang Tang <tanggeliang@kylinos.cn>
Fri, 7 Feb 2025 13:59:19 +0000 (14:59 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 11 Feb 2025 11:46:36 +0000 (12:46 +0100)
The only use of 'info' parameter of userspace_pm_remove_id_zero_address()
is to set an error message into it.

Plus, this helper will only fail when it cannot find any subflows with a
local address ID 0.

This patch drops this parameter and sets the error message where this
function is called in mptcp_pm_nl_remove_doit().

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/mptcp/pm_userspace.c

index a3d477059b11c3a5618dbb6256434a8e55845995..4de38bc03ab8add367720262f353dd20cacac108 100644 (file)
@@ -253,8 +253,7 @@ int mptcp_pm_nl_announce_doit(struct sk_buff *skb, struct genl_info *info)
        return err;
 }
 
-static int mptcp_userspace_pm_remove_id_zero_address(struct mptcp_sock *msk,
-                                                    struct genl_info *info)
+static int mptcp_userspace_pm_remove_id_zero_address(struct mptcp_sock *msk)
 {
        struct mptcp_rm_list list = { .nr = 0 };
        struct mptcp_subflow_context *subflow;
@@ -269,10 +268,8 @@ static int mptcp_userspace_pm_remove_id_zero_address(struct mptcp_sock *msk,
                        break;
                }
        }
-       if (!has_id_0) {
-               GENL_SET_ERR_MSG(info, "address with id 0 not found");
+       if (!has_id_0)
                goto remove_err;
-       }
 
        list.ids[list.nr++] = 0;
 
@@ -330,7 +327,7 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struct genl_info *info)
        sk = (struct sock *)msk;
 
        if (id_val == 0) {
-               err = mptcp_userspace_pm_remove_id_zero_address(msk, info);
+               err = mptcp_userspace_pm_remove_id_zero_address(msk);
                goto out;
        }
 
@@ -339,7 +336,6 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struct genl_info *info)
        spin_lock_bh(&msk->pm.lock);
        match = mptcp_userspace_pm_lookup_addr_by_id(msk, id_val);
        if (!match) {
-               GENL_SET_ERR_MSG(info, "address with specified id not found");
                spin_unlock_bh(&msk->pm.lock);
                release_sock(sk);
                goto out;
@@ -356,6 +352,11 @@ int mptcp_pm_nl_remove_doit(struct sk_buff *skb, struct genl_info *info)
 
        err = 0;
 out:
+       if (err)
+               GENL_SET_ERR_MSG_FMT(info,
+                                    "address with id %u not found",
+                                    id_val);
+
        sock_put(sk);
        return err;
 }