Commit e149927
mptcp: reset when MPTCP opts are dropped after join
Before this patch, if the checksum was not used, the subflow was only
reset if map_data_len was != 0. If there were no MPTCP options or an
invalid mapping, map_data_len was not set to the data len, and then the
subflow was not reset as it should have been, leaving the MPTCP
connection in a wrong fallback mode.
This map_data_len condition has been introduced to handle the reception
of the infinite mapping. So instead, a new dedicated mapping error is
now returned (infinite), and this special case is properly handled: the
exception is only applied to this case now, and not other ones by
mistake.
While at it, no need to set map_data_len to 0 as it will be set to
skb->len just after, at the end of subflow_check_data_avail().
Fixes: f8d4bca ("mptcp: infinite mapping receiving")
Reported-by: Chester A. Unal <[email protected]>
Closes: multipath-tcp/mptcp_net-next#544
Signed-off-by: Matthieu Baerts (NGI0) <[email protected]>1 parent 3a7786d commit e149927
1 file changed
+5
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
969 | 969 | | |
970 | 970 | | |
971 | 971 | | |
| 972 | + | |
972 | 973 | | |
973 | 974 | | |
974 | 975 | | |
| |||
1139 | 1140 | | |
1140 | 1141 | | |
1141 | 1142 | | |
1142 | | - | |
1143 | | - | |
| 1143 | + | |
1144 | 1144 | | |
1145 | 1145 | | |
1146 | 1146 | | |
| |||
1357 | 1357 | | |
1358 | 1358 | | |
1359 | 1359 | | |
1360 | | - | |
| 1360 | + | |
| 1361 | + | |
1361 | 1362 | | |
1362 | 1363 | | |
1363 | 1364 | | |
| |||
1405 | 1406 | | |
1406 | 1407 | | |
1407 | 1408 | | |
1408 | | - | |
| 1409 | + | |
1409 | 1410 | | |
1410 | 1411 | | |
1411 | 1412 | | |
| |||
0 commit comments