On Tue, Dec 12, 2017 at 02:08:00PM -0200, Marcelo Ricardo Leitner wrote:
> Hi Richard,
> 
> On Mon, Nov 27, 2017 at 07:31:21PM +0000, Richard Haines wrote:
> ...
> > --- a/net/sctp/socket.c
> > +++ b/net/sctp/socket.c
> > @@ -3123,8 +3123,10 @@ static int sctp_setsockopt_maxseg(struct sock *sk, 
> > char __user *optval, unsigned
> >  
> >     if (asoc) {
> >             if (val == 0) {
> > +                   struct sctp_af *af = sp->pf->af;
> >                     val = asoc->pathmtu;
> > -                   val -= sp->pf->af->net_header_len;
> > +                   val -= af->ip_options_len(asoc->base.sk);
> > +                   val -= af->net_header_len;
> >                     val -= sizeof(struct sctphdr) +
> >                                     sizeof(struct sctp_data_chunk);
> >             }
> 
> Right below here there is a call to sctp_frag_point(). That function
> also needs this tweak.
> 
> Yes, we should simplify all these calculations. I have a patch to use
> sctp_frag_point on where it is currently recalculating it on
> sctp_datamsg_from_user(), but probably should include other places as
> well.

I have no further comments on this patchset other than the above and
LGTM.
Thanks Richard.

  Marcelo

Reply via email to