diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 39e2cbdf3801..8aa4ba32e33c 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -950,10 +950,10 @@ enum mapping_status { MAPPING_BAD_CSUM }; -static void dbg_bad_map(struct mptcp_subflow_context *subflow, u32 ssn) +static void dbg_bad_map(struct sock *ssk, struct mptcp_subflow_context *subflow, u32 ssn) { - pr_debug("Bad mapping: ssn=%d map_seq=%d map_data_len=%d", - ssn, subflow->map_subflow_seq, subflow->map_data_len); + pr_err_ratelimited("Bad mapping: ssn=%d offset=%d copied=%d s map_seq=%d map_data_len=%d", + ssn, subflow->ssn_offset, tcp_sk(ssk)->copied_seq, subflow->map_subflow_seq, subflow->map_data_len); } static bool skb_is_fully_mapped(struct sock *ssk, struct sk_buff *skb) @@ -978,13 +978,13 @@ static bool validate_mapping(struct sock *ssk, struct sk_buff *skb) /* Mapping covers data later in the subflow stream, * currently unsupported. */ - dbg_bad_map(subflow, ssn); + dbg_bad_map(ssk, subflow, ssn); return false; } if (unlikely(!before(ssn, subflow->map_subflow_seq + subflow->map_data_len))) { /* Mapping does covers past subflow data, invalid */ - dbg_bad_map(subflow, ssn); + dbg_bad_map(ssk, subflow, ssn); return false; } return true;