Drop the echo parameter of mptcp_pm_add_addr_signal() and reflect it to
avoid passing too many parameters.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
net/mptcp/options.c | 9 ++++-----
net/mptcp/pm.c | 13 +++++++------
net/mptcp/protocol.h | 2 +-
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/net/mptcp/options.c b/net/mptcp/options.c
index 4070a9104386..9d7228f12473 100644
--- a/net/mptcp/options.c
+++ b/net/mptcp/options.c
@@ -652,7 +652,6 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *
struct mptcp_sock *msk = mptcp_sk(subflow->conn);
bool drop_other_suboptions = false;
unsigned int opt_size = *size;
- bool echo;
int len;
/* add addr will strip the existing options, be sure to avoid breaking
@@ -661,12 +660,12 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *
if (!mptcp_pm_should_add_signal(msk) ||
(opts->suboptions & (OPTION_MPTCP_MPJ_ACK | OPTION_MPTCP_MPC_ACK)) ||
!mptcp_pm_add_addr_signal(msk, skb, opt_size, remaining, &opts->addr,
- &echo, &drop_other_suboptions))
+ &drop_other_suboptions))
return false;
if (drop_other_suboptions)
remaining += opt_size;
- len = mptcp_add_addr_len(opts->addr.family, echo, !!opts->addr.port);
+ len = mptcp_add_addr_len(opts->addr.family, opts->addr.echo, !!opts->addr.port);
if (remaining < len)
return false;
@@ -684,13 +683,13 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff *
*size -= opt_size;
}
opts->suboptions |= OPTION_MPTCP_ADD_ADDR;
- if (!echo) {
+ if (!opts->addr.echo) {
opts->ahmac = add_addr_generate_hmac(msk->local_key,
msk->remote_key,
&opts->addr);
}
pr_debug("addr_id=%d, ahmac=%llu, echo=%d, port=%d",
- opts->addr.id, opts->ahmac, echo, ntohs(opts->addr.port));
+ opts->addr.id, opts->ahmac, opts->addr.echo, ntohs(opts->addr.port));
return true;
}
diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c
index 99db7270e461..8dd78424f86e 100644
--- a/net/mptcp/pm.c
+++ b/net/mptcp/pm.c
@@ -283,13 +283,14 @@ void mptcp_pm_mp_fail_received(struct sock *sk, u64 fail_seq)
bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk, struct sk_buff *skb,
unsigned int opt_size, unsigned int remaining,
- struct mptcp_addr_info *addr, bool *echo,
+ struct mptcp_addr_info *addr,
bool *drop_other_suboptions)
{
int ret = false;
u8 add_addr;
u8 family;
bool port;
+ bool echo;
spin_lock_bh(&msk->pm.lock);
@@ -306,14 +307,14 @@ bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk, struct sk_buff *skb,
*drop_other_suboptions = true;
}
- *echo = mptcp_pm_should_add_signal_echo(msk);
- port = !!(*echo ? msk->pm.remote.port : msk->pm.local.port);
+ echo = mptcp_pm_should_add_signal_echo(msk);
+ port = !!(echo ? msk->pm.remote.port : msk->pm.local.port);
- family = *echo ? msk->pm.remote.family : msk->pm.local.family;
- if (remaining < mptcp_add_addr_len(family, *echo, port))
+ family = echo ? msk->pm.remote.family : msk->pm.local.family;
+ if (remaining < mptcp_add_addr_len(family, echo, port))
goto out_unlock;
- if (*echo) {
+ if (echo) {
*addr = msk->pm.remote;
add_addr = msk->pm.addr_signal & ~BIT(MPTCP_ADD_ADDR_ECHO);
} else {
diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index 4becac89a4a6..7ee6a39a7ff9 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -833,7 +833,7 @@ static inline int mptcp_rm_addr_len(const struct mptcp_rm_list *rm_list)
bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk, struct sk_buff *skb,
unsigned int opt_size, unsigned int remaining,
- struct mptcp_addr_info *addr, bool *echo,
+ struct mptcp_addr_info *addr,
bool *drop_other_suboptions);
bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remaining,
struct mptcp_rm_list *rm_list);
--
2.34.1