* [PATCH AUTOSEL 5.14 209/252] mptcp: fix ADD_ADDR and RM_ADDR maybe flush addr_signal each other [not found] <20210909114106.141462-1-sashal@kernel.org> @ 2021-09-09 11:40 ` Sasha Levin 2021-09-09 22:33 ` Mat Martineau 0 siblings, 1 reply; 3+ messages in thread From: Sasha Levin @ 2021-09-09 11:40 UTC (permalink / raw) To: linux-kernel, stable Cc: Yonglong Li, Geliang Tang, Mat Martineau, David S . Miller, Sasha Levin, netdev, mptcp From: Yonglong Li <liyonglong@chinatelecom.cn> [ Upstream commit 119c022096f5805680c79dfa74e15044c289856d ] ADD_ADDR shares pm.addr_signal with RM_ADDR, so after RM_ADDR/ADD_ADDR has done, we should not clean ADD_ADDR/RM_ADDR's addr_signal. Co-developed-by: Geliang Tang <geliangtang@gmail.com> Signed-off-by: Geliang Tang <geliangtang@gmail.com> Signed-off-by: Yonglong Li <liyonglong@chinatelecom.cn> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org> --- net/mptcp/pm.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 639271e09604..f47b71a21b7e 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -253,6 +253,7 @@ bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk, unsigned int remaining, struct mptcp_addr_info *saddr, bool *echo, bool *port) { int ret = false; + u8 add_addr; spin_lock_bh(&msk->pm.lock); @@ -267,7 +268,11 @@ bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk, unsigned int remaining, goto out_unlock; *saddr = msk->pm.local; - WRITE_ONCE(msk->pm.addr_signal, 0); + if (*echo) + add_addr = msk->pm.addr_signal & ~BIT(MPTCP_ADD_ADDR_ECHO); + else + add_addr = msk->pm.addr_signal & ~BIT(MPTCP_ADD_ADDR_SIGNAL); + WRITE_ONCE(msk->pm.addr_signal, add_addr); ret = true; out_unlock: @@ -279,6 +284,7 @@ bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remaining, struct mptcp_rm_list *rm_list) { int ret = false, len; + u8 rm_addr; spin_lock_bh(&msk->pm.lock); @@ -286,16 +292,17 @@ bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remaining, if (!mptcp_pm_should_rm_signal(msk)) goto out_unlock; + rm_addr = msk->pm.addr_signal & ~BIT(MPTCP_RM_ADDR_SIGNAL); len = mptcp_rm_addr_len(&msk->pm.rm_list_tx); if (len < 0) { - WRITE_ONCE(msk->pm.addr_signal, 0); + WRITE_ONCE(msk->pm.addr_signal, rm_addr); goto out_unlock; } if (remaining < len) goto out_unlock; *rm_list = msk->pm.rm_list_tx; - WRITE_ONCE(msk->pm.addr_signal, 0); + WRITE_ONCE(msk->pm.addr_signal, rm_addr); ret = true; out_unlock: -- 2.30.2 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH AUTOSEL 5.14 209/252] mptcp: fix ADD_ADDR and RM_ADDR maybe flush addr_signal each other 2021-09-09 11:40 ` [PATCH AUTOSEL 5.14 209/252] mptcp: fix ADD_ADDR and RM_ADDR maybe flush addr_signal each other Sasha Levin @ 2021-09-09 22:33 ` Mat Martineau 2021-09-11 14:37 ` Sasha Levin 0 siblings, 1 reply; 3+ messages in thread From: Mat Martineau @ 2021-09-09 22:33 UTC (permalink / raw) To: Sasha Levin Cc: linux-kernel, stable, Yonglong Li, Geliang Tang, David S . Miller, netdev, mptcp On Thu, 9 Sep 2021, Sasha Levin wrote: > From: Yonglong Li <liyonglong@chinatelecom.cn> > > [ Upstream commit 119c022096f5805680c79dfa74e15044c289856d ] > > ADD_ADDR shares pm.addr_signal with RM_ADDR, so after RM_ADDR/ADD_ADDR > has done, we should not clean ADD_ADDR/RM_ADDR's addr_signal. > > Co-developed-by: Geliang Tang <geliangtang@gmail.com> > Signed-off-by: Geliang Tang <geliangtang@gmail.com> > Signed-off-by: Yonglong Li <liyonglong@chinatelecom.cn> > Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> > Signed-off-by: David S. Miller <davem@davemloft.net> > Signed-off-by: Sasha Levin <sashal@kernel.org> > --- > net/mptcp/pm.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) Hi Sasha, This patch is part of a 5-patch series, and was not intended for backporting. Please drop the patch from all stable branches. Thanks! -- Mat Martineau Intel ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH AUTOSEL 5.14 209/252] mptcp: fix ADD_ADDR and RM_ADDR maybe flush addr_signal each other 2021-09-09 22:33 ` Mat Martineau @ 2021-09-11 14:37 ` Sasha Levin 0 siblings, 0 replies; 3+ messages in thread From: Sasha Levin @ 2021-09-11 14:37 UTC (permalink / raw) To: Mat Martineau Cc: linux-kernel, stable, Yonglong Li, Geliang Tang, David S . Miller, netdev, mptcp On Thu, Sep 09, 2021 at 03:33:02PM -0700, Mat Martineau wrote: > >On Thu, 9 Sep 2021, Sasha Levin wrote: > >>From: Yonglong Li <liyonglong@chinatelecom.cn> >> >>[ Upstream commit 119c022096f5805680c79dfa74e15044c289856d ] >> >>ADD_ADDR shares pm.addr_signal with RM_ADDR, so after RM_ADDR/ADD_ADDR >>has done, we should not clean ADD_ADDR/RM_ADDR's addr_signal. >> >>Co-developed-by: Geliang Tang <geliangtang@gmail.com> >>Signed-off-by: Geliang Tang <geliangtang@gmail.com> >>Signed-off-by: Yonglong Li <liyonglong@chinatelecom.cn> >>Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> >>Signed-off-by: David S. Miller <davem@davemloft.net> >>Signed-off-by: Sasha Levin <sashal@kernel.org> >>--- >>net/mptcp/pm.c | 13 ++++++++++--- >>1 file changed, 10 insertions(+), 3 deletions(-) > >Hi Sasha, > >This patch is part of a 5-patch series, and was not intended for >backporting. Please drop the patch from all stable branches. Dropped, thanks! -- Thanks, Sasha ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-09-11 14:37 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20210909114106.141462-1-sashal@kernel.org> 2021-09-09 11:40 ` [PATCH AUTOSEL 5.14 209/252] mptcp: fix ADD_ADDR and RM_ADDR maybe flush addr_signal each other Sasha Levin 2021-09-09 22:33 ` Mat Martineau 2021-09-11 14:37 ` Sasha Levin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).