Closed cpaasch closed 7 months ago
The reproducer does a self-connect, causing fallback and setups some nft filter I can't decode. I guess it drops or delay some packets.
The splat happens on mptcp-level re-injection. A simple fix (work-around) would probably be skipping re-injection for fallback flows.
Still is more interesting to understand why the splat happens - apparently snd_una moved over snd_nxt.
For fallback socket, under the mptcp socket lock and the mptcp data lock scope snd_una == snd_nxt, so it's not clear the root cause.
It looks like 'snd_una' is not initialized for fallback, before the first ack is received.
the attached patch should fix the issue. @cpaasch: could you please test it? una.patch.txt
@pabeni - latest patch works : c4965fb58d4c
syzkaller-id: 1a7fbf9ed6cbc80305d5bf808b47edb978a3803c
HEAD: bbeac67456c9
Trace:
Kconfig: Kconfig_k7_clean.txt
Reproducer (on k9):