On Wed, Jul 21, 2021 at 12:08:25PM -0400, Xin Long wrote: > Currently, in sctp_packet_config(), sctp_transport_pmtu_check() is > called to update transport pathmtu with dst's mtu when dst's mtu > has been changed by non sctp stack like xfrm. > > However, this should only happen when SPP_PMTUD_ENABLE is set, no > matter where dst's mtu changed. This patch is to fix by checking > SPP_PMTUD_ENABLE flag before calling sctp_transport_pmtu_check(). > > Thanks Jacek for reporting and looking into this issue. > > Fixes: 69fec325a643 ('Revert "sctp: remove sctp_transport_pmtu_check"') > Reported-by: Jacek Szafraniec <jacek.szafraniec@xxxxxxxxx> > Tested-by: Jacek Szafraniec <jacek.szafraniec@xxxxxxxxx> > Signed-off-by: Xin Long <lucien.xin@xxxxxxxxx> > --- > net/sctp/output.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/net/sctp/output.c b/net/sctp/output.c > index 9032ce60d50e..8d5708dd2a1f 100644 > --- a/net/sctp/output.c > +++ b/net/sctp/output.c > @@ -104,8 +104,8 @@ void sctp_packet_config(struct sctp_packet *packet, __u32 vtag, > if (asoc->param_flags & SPP_PMTUD_ENABLE) > sctp_assoc_sync_pmtu(asoc); > } else if (!sctp_transport_pl_enabled(tp) && > - !sctp_transport_pmtu_check(tp)) { > - if (asoc->param_flags & SPP_PMTUD_ENABLE) > + asoc->param_flags & SPP_PMTUD_ENABLE) Lacks a '{' here at the end of the line. Other than that: Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> (please add it on the v2) > + if (!sctp_transport_pmtu_check(tp)) > sctp_assoc_sync_pmtu(asoc); > } > > -- > 2.27.0 >