From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============5064430776616491252==" MIME-Version: 1.0 From: Mat Martineau To: mptcp at lists.01.org Subject: [MPTCP] Re: [MPTCP][PATCH v2 mptcp-next] Squash to "mptcp: add rm_list in mptcp_out_options" Date: Tue, 16 Feb 2021 17:39:55 -0800 Message-ID: <81d81d67-a9f5-d858-e54-7e8bc89f6542@linux.intel.com> In-Reply-To: cb5c8d16d873790895608fd0789cf6adbcaeb3d1.1613404578.git.geliangtang@gmail.com X-Status: X-Keywords: X-UID: 7817 --===============5064430776616491252== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Tue, 16 Feb 2021, Geliang Tang wrote: > This patch fixed the following smatch warnings: > net/mptcp/options.c:687 mptcp_established_options_rm_addr() error: uninit= ialized symbol 'align'. > > Reported-by: kernel test robot > Reported-by: Dan Carpenter > Signed-off-by: Geliang Tang > --- > v2: > - use roundup in mptcp_rm_addr_len v2 looks good, thanks Geliang. Mat > --- > net/mptcp/options.c | 14 ++++++-------- > net/mptcp/protocol.h | 8 ++++++++ > 2 files changed, 14 insertions(+), 8 deletions(-) > > diff --git a/net/mptcp/options.c b/net/mptcp/options.c > index e41410475f0e..73c712a5c6e6 100644 > --- a/net/mptcp/options.c > +++ b/net/mptcp/options.c > @@ -673,21 +673,19 @@ static bool mptcp_established_options_rm_addr(struc= t sock *sk, > struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(sk); > struct mptcp_sock *msk =3D mptcp_sk(subflow->conn); > struct mptcp_rm_list rm_list; > - u8 i, align; > + int i, len; > > if (!mptcp_pm_should_rm_signal(msk) || > !(mptcp_pm_rm_addr_signal(msk, remaining, &rm_list))) > return false; > > - if (rm_list.nr > 1) > - align =3D 5; > - if (rm_list.nr > 5) > - align =3D 9; > - > - if (remaining < TCPOLEN_MPTCP_RM_ADDR_BASE + align) > + len =3D mptcp_rm_addr_len(rm_list); > + if (len < 0) > + return false; > + if (remaining < len) > return false; > > - *size =3D TCPOLEN_MPTCP_RM_ADDR_BASE + align; > + *size =3D len; > opts->suboptions |=3D OPTION_MPTCP_RM_ADDR; > opts->rm_list =3D rm_list; > > diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h > index dd6bc475f848..3f42b6f55f02 100644 > --- a/net/mptcp/protocol.h > +++ b/net/mptcp/protocol.h > @@ -708,6 +708,14 @@ static inline unsigned int mptcp_add_addr_len(int fa= mily, bool echo, bool port) > return len; > } > > +static inline int mptcp_rm_addr_len(struct mptcp_rm_list rm_list) > +{ > + if (rm_list.nr =3D=3D 0 || rm_list.nr >=3D MPTCP_RM_IDS_MAX) > + return -EINVAL; > + > + return TCPOLEN_MPTCP_RM_ADDR_BASE + roundup(rm_list.nr - 1, 4) + 1; > +} > + > bool mptcp_pm_add_addr_signal(struct mptcp_sock *msk, unsigned int remain= ing, > struct mptcp_addr_info *saddr, bool *echo, bool *port); > bool mptcp_pm_rm_addr_signal(struct mptcp_sock *msk, unsigned int remaini= ng, > -- = > 2.29.2 -- Mat Martineau Intel --===============5064430776616491252==--