Skip to content

Commit 5409fd6

Browse files
Geliang Tangkuba-moo
authored andcommitted
mptcp: drop useless "err = 0" in subflow_destroy
Upon successful return, mptcp_pm_parse_addr() returns 0. There is no need to set "err = 0" after this. So after mptcp_nl_find_ssk() returns, just need to set "err = -ESRCH", then release and free msk socket if it returns NULL. Also, no need to define the variable "subflow" in subflow_destroy(), use mptcp_subflow_ctx(ssk) directly. This patch doesn't change the behaviour of the code, just refactoring. 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> Link: https://patch.msgid.link/20241213-net-next-mptcp-pm-misc-cleanup-v1-7-ddb6d00109a8@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent 1c670b3 commit 5409fd6

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

net/mptcp/pm_userspace.c

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -538,19 +538,18 @@ int mptcp_pm_nl_subflow_destroy_doit(struct sk_buff *skb, struct genl_info *info
538538

539539
lock_sock(sk);
540540
ssk = mptcp_nl_find_ssk(msk, &addr_l.addr, &addr_r);
541-
if (ssk) {
542-
struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk);
543-
544-
spin_lock_bh(&msk->pm.lock);
545-
mptcp_userspace_pm_delete_local_addr(msk, &addr_l);
546-
spin_unlock_bh(&msk->pm.lock);
547-
mptcp_subflow_shutdown(sk, ssk, RCV_SHUTDOWN | SEND_SHUTDOWN);
548-
mptcp_close_ssk(sk, ssk, subflow);
549-
MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_RMSUBFLOW);
550-
err = 0;
551-
} else {
541+
if (!ssk) {
552542
err = -ESRCH;
543+
goto release_sock;
553544
}
545+
546+
spin_lock_bh(&msk->pm.lock);
547+
mptcp_userspace_pm_delete_local_addr(msk, &addr_l);
548+
spin_unlock_bh(&msk->pm.lock);
549+
mptcp_subflow_shutdown(sk, ssk, RCV_SHUTDOWN | SEND_SHUTDOWN);
550+
mptcp_close_ssk(sk, ssk, mptcp_subflow_ctx(ssk));
551+
MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_RMSUBFLOW);
552+
release_sock:
554553
release_sock(sk);
555554

556555
destroy_err:

0 commit comments

Comments
 (0)