Commit b263b0d7 authored by Florian Westphal's avatar Florian Westphal Committed by David S. Miller

mptcp: move subflow close loop after sk close check

In case mptcp socket is already dead the entire mptcp socket
will be freed. We can avoid the close check in this case.
Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 40947e13
...@@ -2246,9 +2246,6 @@ static void mptcp_worker(struct work_struct *work) ...@@ -2246,9 +2246,6 @@ static void mptcp_worker(struct work_struct *work)
mptcp_check_fastclose(msk); mptcp_check_fastclose(msk);
if (test_and_clear_bit(MPTCP_WORK_CLOSE_SUBFLOW, &msk->flags))
__mptcp_close_subflow(msk);
if (msk->pm.status) if (msk->pm.status)
mptcp_pm_nl_work(msk); mptcp_pm_nl_work(msk);
...@@ -2270,6 +2267,9 @@ static void mptcp_worker(struct work_struct *work) ...@@ -2270,6 +2267,9 @@ static void mptcp_worker(struct work_struct *work)
goto unlock; goto unlock;
} }
if (test_and_clear_bit(MPTCP_WORK_CLOSE_SUBFLOW, &msk->flags))
__mptcp_close_subflow(msk);
if (!test_and_clear_bit(MPTCP_WORK_RTX, &msk->flags)) if (!test_and_clear_bit(MPTCP_WORK_RTX, &msk->flags))
goto unlock; goto unlock;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment