From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
To: David Laight <David.Laight@ACULAB.COM>
Cc: 'Xin Long' <lucien.xin@gmail.com>,
network dev <netdev@vger.kernel.org>,
"linux-sctp@vger.kernel.org" <linux-sctp@vger.kernel.org>,
Neil Horman <nhorman@tuxdriver.com>,
Vlad Yasevich <vyasevich@gmail.com>,
"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams
Date: Mon, 23 Jan 2017 18:47:44 +0000 [thread overview]
Message-ID: <20170123184744.GC3781@localhost.localdomain> (raw)
In-Reply-To: <063D6719AE5E284EB5DD2968C1650D6DB026B563@AcuExch.aculab.com>
On Mon, Jan 23, 2017 at 11:25:56AM +0000, David Laight wrote:
> From: Xin Long
> > Sent: 19 January 2017 17:19
> > This patch is to implement Sender-Side Procedures for the Add
> > Outgoing and Incoming Streams Request Parameter described in
> > rfc6525 section 5.1.5-5.1.6.
> >
> > It is also to add sockopt SCTP_ADD_STREAMS in rfc6525 section
> > 6.3.4 for users.
> ...
> > + out = params->sas_outstrms;
> > + in = params->sas_instrms;
> > +
> > + if (!out && !in)
> > + goto out;
> > +
> > + if (out) {
> > + __u16 nums = stream->outcnt + out;
>
> Make nums 'unsigned int', the code will be smaller and you can
> use the value for the overflow check.
Smaller as in to avoid the sum below?
>
> > + /* Check for overflow, can't use nums here */
> > + if (stream->outcnt + out > SCTP_MAX_STREAM)
> > + goto out;
> > +
> > + /* Use ksize to check if stream array really needs to realloc */
> > + if (ksize(stream->out) / sizeof(*stream->out) < nums) {
> > + struct sctp_stream_out *streamout;
> > +
> > + streamout = kcalloc(nums, sizeof(*streamout),
> > + GFP_KERNEL);
> > + if (!streamout) {
> > + retval = -ENOMEM;
> > + goto out;
> > + }
> > +
> > + memcpy(streamout, stream->out,
> > + sizeof(*streamout) * stream->outcnt);
> > +
> > + kfree(stream->out);
> > + stream->out = streamout;
> > + }
>
> Does kcalloc() zero the entire area, or just the length you ask for?
> If the latter you need to zero the rest here.
> ...
>
> David
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
WARNING: multiple messages have this Message-ID (diff)
From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
To: David Laight <David.Laight@ACULAB.COM>
Cc: "'Xin Long'" <lucien.xin@gmail.com>,
network dev <netdev@vger.kernel.org>,
"linux-sctp@vger.kernel.org" <linux-sctp@vger.kernel.org>,
Neil Horman <nhorman@tuxdriver.com>,
Vlad Yasevich <vyasevich@gmail.com>,
"davem@davemloft.net" <davem@davemloft.net>
Subject: Re: [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter
Date: Mon, 23 Jan 2017 16:47:44 -0200 [thread overview]
Message-ID: <20170123184744.GC3781@localhost.localdomain> (raw)
In-Reply-To: <063D6719AE5E284EB5DD2968C1650D6DB026B563@AcuExch.aculab.com>
On Mon, Jan 23, 2017 at 11:25:56AM +0000, David Laight wrote:
> From: Xin Long
> > Sent: 19 January 2017 17:19
> > This patch is to implement Sender-Side Procedures for the Add
> > Outgoing and Incoming Streams Request Parameter described in
> > rfc6525 section 5.1.5-5.1.6.
> >
> > It is also to add sockopt SCTP_ADD_STREAMS in rfc6525 section
> > 6.3.4 for users.
> ...
> > + out = params->sas_outstrms;
> > + in = params->sas_instrms;
> > +
> > + if (!out && !in)
> > + goto out;
> > +
> > + if (out) {
> > + __u16 nums = stream->outcnt + out;
>
> Make nums 'unsigned int', the code will be smaller and you can
> use the value for the overflow check.
Smaller as in to avoid the sum below?
>
> > + /* Check for overflow, can't use nums here */
> > + if (stream->outcnt + out > SCTP_MAX_STREAM)
> > + goto out;
> > +
> > + /* Use ksize to check if stream array really needs to realloc */
> > + if (ksize(stream->out) / sizeof(*stream->out) < nums) {
> > + struct sctp_stream_out *streamout;
> > +
> > + streamout = kcalloc(nums, sizeof(*streamout),
> > + GFP_KERNEL);
> > + if (!streamout) {
> > + retval = -ENOMEM;
> > + goto out;
> > + }
> > +
> > + memcpy(streamout, stream->out,
> > + sizeof(*streamout) * stream->outcnt);
> > +
> > + kfree(stream->out);
> > + stream->out = streamout;
> > + }
>
> Does kcalloc() zero the entire area, or just the length you ask for?
> If the latter you need to zero the rest here.
> ...
>
> David
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2017-01-23 18:47 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-19 17:19 [PATCHv3 net-next 0/4] sctp: add sender-side procedures for stream reconf asoc reset and add streams Xin Long
2017-01-19 17:19 ` Xin Long
2017-01-19 17:19 ` [PATCHv3 net-next 1/4] sctp: add support for generating stream reconf ssn/tsn reset request chunk Xin Long
2017-01-19 17:19 ` Xin Long
2017-01-19 17:19 ` [PATCHv3 net-next 2/4] sctp: implement sender-side procedures for SSN/TSN Reset Request Parameter Xin Long
2017-01-19 17:19 ` Xin Long
2017-01-19 17:19 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams Xin Long
2017-01-19 17:19 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams request chunk Xin Long
2017-01-19 17:19 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Requ Xin Long
2017-01-19 17:19 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter Xin Long
2017-01-19 20:17 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Neil Horman
2017-01-19 20:17 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter Neil Horman
2017-01-19 22:18 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Marcelo Ricardo Leitner
2017-01-19 22:18 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter Marcelo Ricardo Leitner
2017-01-23 14:50 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Neil Horman
2017-01-23 14:50 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter Neil Horman
2017-01-19 21:47 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Marcelo Ricardo Leitner
2017-01-19 21:47 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter Marcelo Ricardo Leitner
2017-01-20 8:56 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Xin Long
2017-01-20 8:56 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter Xin Long
2017-01-20 11:43 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Marcelo Ricardo Leitner
2017-01-20 11:43 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter Marcelo Ricardo Leitner
2017-01-19 22:15 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Marcelo Ricardo Leitner
2017-01-19 22:15 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter Marcelo Ricardo Leitner
2017-01-20 8:51 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Xin Long
2017-01-20 8:51 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter Xin Long
2017-01-23 11:25 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams David Laight
2017-01-23 11:25 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter David Laight
2017-01-23 14:53 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Neil Horman
2017-01-23 14:53 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter Neil Horman
2017-01-23 16:02 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Marcelo Ricardo Leitner
2017-01-23 16:02 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter Marcelo Ricardo Leitner
2017-01-24 12:35 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams David Laight
2017-01-24 12:35 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter David Laight
2017-01-24 13:08 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams 'Marcelo Ricardo Leitner'
2017-01-24 13:08 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter 'Marcelo Ricardo Leitner'
2017-01-23 18:47 ` Marcelo Ricardo Leitner [this message]
2017-01-23 18:47 ` Marcelo Ricardo Leitner
2017-01-24 12:34 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams David Laight
2017-01-24 12:34 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter David Laight
2017-01-24 13:10 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams 'Marcelo Ricardo Leitner'
2017-01-24 13:10 ` [PATCHv3 net-next 4/4] sctp: implement sender-side procedures for Add Incoming/Outgoing Streams Request Parameter 'Marcelo Ricardo Leitner'
2017-01-20 14:50 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing stre David Laight
2017-01-20 14:50 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams request chunk David Laight
2017-01-20 16:39 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing stre Marcelo Ricardo Leitner
2017-01-20 16:39 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams request chunk Marcelo Ricardo Leitner
2017-01-23 12:26 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing stre David Laight
2017-01-23 12:26 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams request chunk David Laight
2017-01-23 12:36 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing stre 'Marcelo Ricardo Leitner'
2017-01-23 12:36 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams request chunk 'Marcelo Ricardo Leitner'
2017-01-23 16:00 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing stre David Miller
2017-01-23 16:00 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams request chunk David Miller
2017-01-23 16:14 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing stre marcelo.leitner
2017-01-23 16:14 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams request chunk marcelo.leitner
2017-01-23 16:17 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing stre David Miller
2017-01-23 16:17 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams request chunk David Miller
2017-01-23 15:58 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing stre David Miller
2017-01-23 15:58 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams request chunk David Miller
2017-01-29 14:31 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing stre marcelo.leitner
2017-01-29 14:31 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams request chunk marcelo.leitner
2017-01-29 18:41 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing stre David Miller
2017-01-29 18:41 ` [PATCHv3 net-next 3/4] sctp: add support for generating stream reconf add incoming/outgoing streams request chunk David Miller
2017-01-19 22:02 ` [PATCHv3 net-next 2/4] sctp: implement sender-side procedures for SSN/TSN Reset Request Paramete Marcelo Ricardo Leitner
2017-01-19 22:02 ` [PATCHv3 net-next 2/4] sctp: implement sender-side procedures for SSN/TSN Reset Request Parameter Marcelo Ricardo Leitner
2017-01-20 8:21 ` [PATCHv3 net-next 2/4] sctp: implement sender-side procedures for SSN/TSN Reset Request Paramete Xin Long
2017-01-20 8:21 ` [PATCHv3 net-next 2/4] sctp: implement sender-side procedures for SSN/TSN Reset Request Parameter Xin Long
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170123184744.GC3781@localhost.localdomain \
--to=marcelo.leitner@gmail.com \
--cc=David.Laight@ACULAB.COM \
--cc=davem@davemloft.net \
--cc=linux-sctp@vger.kernel.org \
--cc=lucien.xin@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
--cc=vyasevich@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.