On Tue, Dec 12, 2017 at 04:33:03PM -0500, Paul Moore wrote:
> On Tue, Dec 12, 2017 at 11:08 AM, Marcelo Ricardo Leitner
> <marcelo.leit...@gmail.com> 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.
> 
> FYI: Richard let me know he is occupied with another project at the
> moment and likely won't be able to do another respin until next week
> at the earliest.

Okay, thanks. I can do a follow-up patch if it helps.

  Marcelo

Reply via email to