On Tue, Jan 24, 2017 at 12:34:06PM +0000, David Laight wrote: > From: Marcelo Ricardo Leitner > > Sent: 23 January 2017 18:48 > > 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; > > No, smaller as in not requiring the compiler to add instructions > to mask (or worse sign extend) the result of the arithmetic expression > to less than the number of bits in an 'int' when the result of the > expression is to be kept in a register. > > The x86 is about the only modern cpu that has 8 and 16 bit arithmetic. > For everything else you really don't want to do arithmetic on char > and short unless you really want the wrapping to happen. Okay thanks. Marcelo -- To unsubscribe from this list: send the line "unsubscribe linux-sctp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html