acrn-kernel/net/sctp
Xin Long 6ca328e985 sctp: fix an issue that plpmtu can never go to complete state
When doing plpmtu probe, the probe size is growing every time when it
receives the ACK during the Search state until the probe fails. When
the failure occurs, pl.probe_high is set and it goes to the Complete
state.

However, if the link pmtu is huge, like 65535 in loopback_dev, the probe
eventually keeps using SCTP_MAX_PLPMTU as the probe size and never fails.
Because of that, pl.probe_high can not be set, and the plpmtu probe can
never go to the Complete state.

Fix it by setting pl.probe_high to SCTP_MAX_PLPMTU when the probe size
grows to SCTP_MAX_PLPMTU in sctp_transport_pl_recv(). Also, not allow
the probe size greater than SCTP_MAX_PLPMTU in the Complete state.

Fixes: b87641aff9 ("sctp: do state transition when a probe succeeds on HB ACK recv path")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-05-22 11:05:20 +01:00
..
Kconfig
Makefile
associola.c sctp: delete the nested flexible array peer_init 2023-04-21 08:19:30 +01:00
auth.c sctp: delete the nested flexible array hmac 2023-04-21 08:19:30 +01:00
bind_addr.c
chunk.c
debug.c
diag.c
endpointola.c
input.c sctp: delete the nested flexible array params 2023-04-21 08:19:29 +01:00
inqueue.c
ipv6.c net: annotate lockless accesses to sk->sk_err_soft 2023-03-17 08:25:05 +00:00
objcnt.c
offload.c
output.c
outqueue.c sctp: delete the nested flexible array variable 2023-04-21 08:19:29 +01:00
primitive.c
proc.c
protocol.c
sm_make_chunk.c sctp: delete the nested flexible array peer_init 2023-04-21 08:19:30 +01:00
sm_sideeffect.c sctp: delete the nested flexible array variable 2023-04-21 08:19:29 +01:00
sm_statefuns.c sctp: delete the nested flexible array hmac 2023-04-21 08:19:30 +01:00
sm_statetable.c
socket.c sctp: add intl_capable and reconf_capable in ss peer_capable 2023-04-17 08:28:21 +01:00
stream.c sctp: delete the nested flexible array params 2023-04-21 08:19:29 +01:00
stream_interleave.c sctp: delete the nested flexible array skip 2023-04-21 08:19:29 +01:00
stream_sched.c
stream_sched_fc.c
stream_sched_prio.c
stream_sched_rr.c
sysctl.c
transport.c sctp: fix an issue that plpmtu can never go to complete state 2023-05-22 11:05:20 +01:00
tsnmap.c
ulpevent.c
ulpqueue.c