Skip to content

Commit

Permalink
mptcp: drop useless "err = 0" in subflow_destroy
Browse files Browse the repository at this point in the history
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 veriable "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 <[email protected]>
  • Loading branch information
Geliang Tang authored and intel-lab-lkp committed Nov 7, 2024
1 parent e8e00d2 commit 5bd5b59
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions net/mptcp/pm_userspace.c
Original file line number Diff line number Diff line change
Expand Up @@ -535,19 +535,18 @@ int mptcp_pm_nl_subflow_destroy_doit(struct sk_buff *skb, struct genl_info *info

lock_sock(sk);
ssk = mptcp_nl_find_ssk(msk, &addr_l.addr, &addr_r);
if (ssk) {
struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk);

spin_lock_bh(&msk->pm.lock);
mptcp_userspace_pm_delete_local_addr(msk, &addr_l);
spin_unlock_bh(&msk->pm.lock);
mptcp_subflow_shutdown(sk, ssk, RCV_SHUTDOWN | SEND_SHUTDOWN);
mptcp_close_ssk(sk, ssk, subflow);
MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_RMSUBFLOW);
err = 0;
} else {
if (!ssk) {
err = -ESRCH;
release_sock(sk);
goto destroy_err;
}

spin_lock_bh(&msk->pm.lock);
mptcp_userspace_pm_delete_local_addr(msk, &addr_l);
spin_unlock_bh(&msk->pm.lock);
mptcp_subflow_shutdown(sk, ssk, RCV_SHUTDOWN | SEND_SHUTDOWN);
mptcp_close_ssk(sk, ssk, mptcp_subflow_ctx(ssk));
MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_RMSUBFLOW);
release_sock(sk);

destroy_err:
Expand Down

0 comments on commit 5bd5b59

Please sign in to comment.