Message ID | bc5732f961a6a02ede0852863ad876e5dde87300.1587738345.git.pabeni@redhat.com |
---|---|
State | Superseded, archived |
Delegated to: | Mat Martineau |
Headers | show |
Series | mptcp: more incoming option fixes | expand |
diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 5a37dbfc8b4e..a35aa5c76f90 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -709,7 +709,7 @@ static bool check_fully_established(struct mptcp_sock *msk, struct sock *sk, if (TCP_SKB_CB(skb)->seq != subflow->ssn_offset + 1) return subflow->mp_capable; - if (rx_opt->mptcp.use_ack) { + if (mptcp_option_dss(rx_opt) && rx_opt->mptcp.use_ack) { /* subflows are fully established as soon as we get any * additional ack. */
The mentioned RX option field is initialized only for DSS packet, we must access it only if 'dss' is set too, or the subflow will end-up in a bad status, leading to RFC violations. Signed-off-by: Paolo Abeni <pabeni@redhat.com> --- net/mptcp/options.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)