From nobody Fri Nov 22 07:25:02 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B2848126C01; Wed, 4 Sep 2024 11:09:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725448175; cv=none; b=H1swtvUzFRjv15RYbLybcpZ2CEPVPMHjQH8yWE87EySs0XjFcOEvHYWO9TSeRfE9pTaKmVC5S0i5HRyUD26G1NWjccNXhFahSb0v+wHeJHvA0XURXQPJvkcjEfseSEJf94bJE9lHcAmuK7t039XmGt1REbh+FQpp0AP3/mAhzVU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725448175; c=relaxed/simple; bh=WqWd/nONMpX8/gv5oyWyX135mxwnuOl4dDvJ7mzs79k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AYC2hVAeObiEHD+Vaq8ZFuo/8Rqd1tp2Kl7eCwUa4MPqcQnAUH9MDsCYKWqOEVwh5u/zaZ6hWyXOU5K3LrLEmvyEK4bZFg+AfvxH5HAEwHuZNlaTYsVmrvXKJZC3ZlZyhn/9zqKcYnB66FIKrt8NSUZxrKy8/zoPde9Bnt0f8eY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SZwhT6GN; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SZwhT6GN" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8C687C4CEC2; Wed, 4 Sep 2024 11:09:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1725448174; bh=WqWd/nONMpX8/gv5oyWyX135mxwnuOl4dDvJ7mzs79k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SZwhT6GNODNYauNXuZ0DlDLlljlUOLRpAe96wzyOJttTLYRzch0dsCXJbT9Oi6Aa/ sTcNMLS2+35OY5EX23Y6eE+wzO2WNJAWq/L5xt80xAmYbjoDVT+r3a4TvJ86uC+CC2 hxvxhpJGPQ9AJh98WuomihsSi8QSnRdG1/ZiJpA5bMeCEGEfHoqCkjgiEfiYBXqg9P IPyLx+ixvaceBDTGPWKboeoXsxezLMzO7o9I39dLS4k7z/92RnPu+Y8aRwb7K6Sm07 L07Ww2xszzBBd8y8AcZN0evUgwHOAh40Rqvgu61YCy3ZlzUQCG0RPSSWgXbPIqvlex /TJdrfGgNsvPQ== From: "Matthieu Baerts (NGI0)" To: stable@vger.kernel.org, gregkh@linuxfoundation.org Cc: MPTCP Upstream , "Matthieu Baerts (NGI0)" , Geliang Tang , Jakub Kicinski Subject: [PATCH 6.1.y] mptcp: pr_debug: add missing \n at the end Date: Wed, 4 Sep 2024 13:09:27 +0200 Message-ID: <20240904110926.4090424-2-matttbe@kernel.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <2024083020-quickness-xbox-e6f7@gregkh> References: <2024083020-quickness-xbox-e6f7@gregkh> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=40189; i=matttbe@kernel.org; h=from:subject; bh=WqWd/nONMpX8/gv5oyWyX135mxwnuOl4dDvJ7mzs79k=; b=owEBbQKS/ZANAwAIAfa3gk9CaaBzAcsmYgBm2D/mIB9c30s23V3wrGMSC8XiP7YoAec0cv5kF ge9sl3XMx2JAjMEAAEIAB0WIQToy4X3aHcFem4n93r2t4JPQmmgcwUCZtg/5gAKCRD2t4JPQmmg cy1rD/9AK+Y7d+TTKp8rSydgi3y+8gv+jcI8/0yARD7gptU/ekHUOiFX5UjqeUqGUgLXeWI9smB SOLyMTh3F1SzM7Ng5d7Qi4ZbYvpoLLepHODYld4G6gLcKVhIjXsQ6GB92dp3pbYGC6ieDWEcVSW 1Wlya9evKZrVX/+W5Cz6TNTX/UQ3DDRbM2uh4FlcMOliN2QeQK27w1Vdo4EshwqLnpt4+5Kb9Io YOf2XV5zyY0UQjNWrjFZ7GqbWtFfoo0L2sOJogSQi9uzCr8H6BYsvVg1542ZmsHKLcNgbFh5ImV W+lHYgEyR8wgL9YhfxjHXtSyhyAMM4W07DcdnCNqoI1mqPWYxPXxMp/bMiYBqkpNSNF5zgZlT/3 zT/K/lNomPbGgEHR6UBJIvhbSQ0prsKA4hEUgX33HIUl+EaVYIcMtl6kgbGS52ptFph5yL7h0Ja naMahLZUmLGuZ/E+8dh98K/wKjguzv8NbHnyP1BzaQkfnlL/Y9J2/zKnaj+jPK47Wy+NQjCA1i/ YFXHFIuomzXsufrPbP42wfQJJN6MrfI8VF3KC+gZvzJnoW5j18Ju0MIKEPtHYwHnEmI8GGKGD62 ovH7n2pKVYx7mXGBRPzddEJi/T23aqVcfBar5dAZOhIQOc87yJ/EbMBNde9uRRmGxbBDlFliGgB F4f2LgPhHuoLtpg== X-Developer-Key: i=matttbe@kernel.org; a=openpgp; fpr=E8CB85F76877057A6E27F77AF6B7824F4269A073 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" commit cb41b195e634d3f1ecfcd845314e64fd4bb3c7aa upstream. pr_debug() have been added in various places in MPTCP code to help developers to debug some situations. With the dynamic debug feature, it is easy to enable all or some of them, and asks users to reproduce issues with extra debug. Many of these pr_debug() don't end with a new line, while no 'pr_cont()' are used in MPTCP code. So the goal was not to display multiple debug messages on one line: they were then not missing the '\n' on purpose. Not having the new line at the end causes these messages to be printed with a delay, when something else needs to be printed. This issue is not visible when many messages need to be printed, but it is annoying and confusing when only specific messages are expected, e.g. # echo "func mptcp_pm_add_addr_echoed +fmp" \ > /sys/kernel/debug/dynamic_debug/control # ./mptcp_join.sh "signal address"; \ echo "$(awk '{print $1}' /proc/uptime) - end"; \ sleep 5s; \ echo "$(awk '{print $1}' /proc/uptime) - restart"; \ ./mptcp_join.sh "signal address" 013 signal address (...) 10.75 - end 15.76 - restart 013 signal address [ 10.367935] mptcp:mptcp_pm_add_addr_echoed: MPTCP: msk=3D(...) (...) =3D> a delay of 5 seconds: printed with a 10.36 ts, but after 'restart' which was printed at the 15.76 ts. The 'Fixes' tag here below points to the first pr_debug() used without '\n' in net/mptcp. This patch could be split in many small ones, with different Fixes tag, but it doesn't seem worth it, because it is easy to re-generate this patch with this simple 'sed' command: git grep -l pr_debug -- net/mptcp | xargs sed -i "s/\(pr_debug(\".*[^n]\)\(\"[,)]\)/\1\\\n\2/g" So in case of conflicts, simply drop the modifications, and launch this command. Fixes: f870fa0b5768 ("mptcp: Add MPTCP socket stubs") Cc: stable@vger.kernel.org Reviewed-by: Geliang Tang Signed-off-by: Matthieu Baerts (NGI0) Link: https://patch.msgid.link/20240826-net-mptcp-close-extra-sf-fin-v1-4-9= 05199fe1172@kernel.org Signed-off-by: Jakub Kicinski [ As mentioned above, conflicts were expected, and resolved by using the 'sed' command which is visible above. ] Signed-off-by: Matthieu Baerts (NGI0) --- net/mptcp/options.c | 50 ++++++++++++++++++++-------------------- net/mptcp/pm.c | 28 +++++++++++------------ net/mptcp/pm_netlink.c | 20 ++++++++-------- net/mptcp/protocol.c | 52 +++++++++++++++++++++--------------------- net/mptcp/protocol.h | 4 ++-- net/mptcp/sockopt.c | 4 ++-- net/mptcp/subflow.c | 50 ++++++++++++++++++++-------------------- 7 files changed, 104 insertions(+), 104 deletions(-) diff --git a/net/mptcp/options.c b/net/mptcp/options.c index d469ad6c6a0b..517bbfe5f626 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -112,7 +112,7 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, mp_opt->suboptions |=3D OPTION_MPTCP_CSUMREQD; ptr +=3D 2; } - pr_debug("MP_CAPABLE version=3D%x, flags=3D%x, optlen=3D%d sndr=3D%llu, = rcvr=3D%llu len=3D%d csum=3D%u", + pr_debug("MP_CAPABLE version=3D%x, flags=3D%x, optlen=3D%d sndr=3D%llu, = rcvr=3D%llu len=3D%d csum=3D%u\n", version, flags, opsize, mp_opt->sndr_key, mp_opt->rcvr_key, mp_opt->data_len, mp_opt->csum); break; @@ -126,7 +126,7 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, ptr +=3D 4; mp_opt->nonce =3D get_unaligned_be32(ptr); ptr +=3D 4; - pr_debug("MP_JOIN bkup=3D%u, id=3D%u, token=3D%u, nonce=3D%u", + pr_debug("MP_JOIN bkup=3D%u, id=3D%u, token=3D%u, nonce=3D%u\n", mp_opt->backup, mp_opt->join_id, mp_opt->token, mp_opt->nonce); } else if (opsize =3D=3D TCPOLEN_MPTCP_MPJ_SYNACK) { @@ -137,19 +137,19 @@ static void mptcp_parse_option(const struct sk_buff *= skb, ptr +=3D 8; mp_opt->nonce =3D get_unaligned_be32(ptr); ptr +=3D 4; - pr_debug("MP_JOIN bkup=3D%u, id=3D%u, thmac=3D%llu, nonce=3D%u", + pr_debug("MP_JOIN bkup=3D%u, id=3D%u, thmac=3D%llu, nonce=3D%u\n", mp_opt->backup, mp_opt->join_id, mp_opt->thmac, mp_opt->nonce); } else if (opsize =3D=3D TCPOLEN_MPTCP_MPJ_ACK) { mp_opt->suboptions |=3D OPTION_MPTCP_MPJ_ACK; ptr +=3D 2; memcpy(mp_opt->hmac, ptr, MPTCPOPT_HMAC_LEN); - pr_debug("MP_JOIN hmac"); + pr_debug("MP_JOIN hmac\n"); } break; =20 case MPTCPOPT_DSS: - pr_debug("DSS"); + pr_debug("DSS\n"); ptr++; =20 /* we must clear 'mpc_map' be able to detect MP_CAPABLE @@ -164,7 +164,7 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, mp_opt->ack64 =3D (flags & MPTCP_DSS_ACK64) !=3D 0; mp_opt->use_ack =3D (flags & MPTCP_DSS_HAS_ACK); =20 - pr_debug("data_fin=3D%d dsn64=3D%d use_map=3D%d ack64=3D%d use_ack=3D%d", + pr_debug("data_fin=3D%d dsn64=3D%d use_map=3D%d ack64=3D%d use_ack=3D%d\= n", mp_opt->data_fin, mp_opt->dsn64, mp_opt->use_map, mp_opt->ack64, mp_opt->use_ack); @@ -202,7 +202,7 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, ptr +=3D 4; } =20 - pr_debug("data_ack=3D%llu", mp_opt->data_ack); + pr_debug("data_ack=3D%llu\n", mp_opt->data_ack); } =20 if (mp_opt->use_map) { @@ -226,7 +226,7 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, ptr +=3D 2; } =20 - pr_debug("data_seq=3D%llu subflow_seq=3D%u data_len=3D%u csum=3D%d:%u", + pr_debug("data_seq=3D%llu subflow_seq=3D%u data_len=3D%u csum=3D%d:%u\n= ", mp_opt->data_seq, mp_opt->subflow_seq, mp_opt->data_len, !!(mp_opt->suboptions & OPTION_MPTCP_CSUMREQD), mp_opt->csum); @@ -288,7 +288,7 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, mp_opt->ahmac =3D get_unaligned_be64(ptr); ptr +=3D 8; } - pr_debug("ADD_ADDR%s: id=3D%d, ahmac=3D%llu, echo=3D%d, port=3D%d", + pr_debug("ADD_ADDR%s: id=3D%d, ahmac=3D%llu, echo=3D%d, port=3D%d\n", (mp_opt->addr.family =3D=3D AF_INET6) ? "6" : "", mp_opt->addr.id, mp_opt->ahmac, mp_opt->echo, ntohs(mp_opt->addr.port)= ); break; @@ -304,7 +304,7 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, mp_opt->rm_list.nr =3D opsize - TCPOLEN_MPTCP_RM_ADDR_BASE; for (i =3D 0; i < mp_opt->rm_list.nr; i++) mp_opt->rm_list.ids[i] =3D *ptr++; - pr_debug("RM_ADDR: rm_list_nr=3D%d", mp_opt->rm_list.nr); + pr_debug("RM_ADDR: rm_list_nr=3D%d\n", mp_opt->rm_list.nr); break; =20 case MPTCPOPT_MP_PRIO: @@ -313,7 +313,7 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, =20 mp_opt->suboptions |=3D OPTION_MPTCP_PRIO; mp_opt->backup =3D *ptr++ & MPTCP_PRIO_BKUP; - pr_debug("MP_PRIO: prio=3D%d", mp_opt->backup); + pr_debug("MP_PRIO: prio=3D%d\n", mp_opt->backup); break; =20 case MPTCPOPT_MP_FASTCLOSE: @@ -324,7 +324,7 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, mp_opt->rcvr_key =3D get_unaligned_be64(ptr); ptr +=3D 8; mp_opt->suboptions |=3D OPTION_MPTCP_FASTCLOSE; - pr_debug("MP_FASTCLOSE: recv_key=3D%llu", mp_opt->rcvr_key); + pr_debug("MP_FASTCLOSE: recv_key=3D%llu\n", mp_opt->rcvr_key); break; =20 case MPTCPOPT_RST: @@ -338,7 +338,7 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, flags =3D *ptr++; mp_opt->reset_transient =3D flags & MPTCP_RST_TRANSIENT; mp_opt->reset_reason =3D *ptr; - pr_debug("MP_RST: transient=3D%u reason=3D%u", + pr_debug("MP_RST: transient=3D%u reason=3D%u\n", mp_opt->reset_transient, mp_opt->reset_reason); break; =20 @@ -349,7 +349,7 @@ static void mptcp_parse_option(const struct sk_buff *sk= b, ptr +=3D 2; mp_opt->suboptions |=3D OPTION_MPTCP_FAIL; mp_opt->fail_seq =3D get_unaligned_be64(ptr); - pr_debug("MP_FAIL: data_seq=3D%llu", mp_opt->fail_seq); + pr_debug("MP_FAIL: data_seq=3D%llu\n", mp_opt->fail_seq); break; =20 default: @@ -412,7 +412,7 @@ bool mptcp_syn_options(struct sock *sk, const struct sk= _buff *skb, *size =3D TCPOLEN_MPTCP_MPC_SYN; return true; } else if (subflow->request_join) { - pr_debug("remote_token=3D%u, nonce=3D%u", subflow->remote_token, + pr_debug("remote_token=3D%u, nonce=3D%u\n", subflow->remote_token, subflow->local_nonce); opts->suboptions =3D OPTION_MPTCP_MPJ_SYN; opts->join_id =3D subflow->local_id; @@ -496,7 +496,7 @@ static bool mptcp_established_options_mp(struct sock *s= k, struct sk_buff *skb, *size =3D TCPOLEN_MPTCP_MPC_ACK; } =20 - pr_debug("subflow=3D%p, local_key=3D%llu, remote_key=3D%llu map_len=3D%d= ", + pr_debug("subflow=3D%p, local_key=3D%llu, remote_key=3D%llu map_len=3D%d= \n", subflow, subflow->local_key, subflow->remote_key, data_len); =20 @@ -505,7 +505,7 @@ static bool mptcp_established_options_mp(struct sock *s= k, struct sk_buff *skb, opts->suboptions =3D OPTION_MPTCP_MPJ_ACK; memcpy(opts->hmac, subflow->hmac, MPTCPOPT_HMAC_LEN); *size =3D TCPOLEN_MPTCP_MPJ_ACK; - pr_debug("subflow=3D%p", subflow); + pr_debug("subflow=3D%p\n", subflow); =20 /* we can use the full delegate action helper only from BH context * If we are in process context - sk is flushing the backlog at @@ -673,7 +673,7 @@ static bool mptcp_established_options_add_addr(struct s= ock *sk, struct sk_buff * =20 *size =3D len; if (drop_other_suboptions) { - pr_debug("drop other suboptions"); + pr_debug("drop other suboptions\n"); opts->suboptions =3D 0; =20 /* note that e.g. DSS could have written into the memory @@ -690,7 +690,7 @@ static bool mptcp_established_options_add_addr(struct s= ock *sk, struct sk_buff * msk->remote_key, &opts->addr); } - pr_debug("addr_id=3D%d, ahmac=3D%llu, echo=3D%d, port=3D%d", + pr_debug("addr_id=3D%d, ahmac=3D%llu, echo=3D%d, port=3D%d\n", opts->addr.id, opts->ahmac, echo, ntohs(opts->addr.port)); =20 return true; @@ -721,7 +721,7 @@ static bool mptcp_established_options_rm_addr(struct so= ck *sk, opts->rm_list =3D rm_list; =20 for (i =3D 0; i < opts->rm_list.nr; i++) - pr_debug("rm_list_ids[%d]=3D%d", i, opts->rm_list.ids[i]); + pr_debug("rm_list_ids[%d]=3D%d\n", i, opts->rm_list.ids[i]); =20 return true; } @@ -747,7 +747,7 @@ static bool mptcp_established_options_mp_prio(struct so= ck *sk, opts->suboptions |=3D OPTION_MPTCP_PRIO; opts->backup =3D subflow->request_bkup; =20 - pr_debug("prio=3D%d", opts->backup); + pr_debug("prio=3D%d\n", opts->backup); =20 return true; } @@ -789,7 +789,7 @@ static bool mptcp_established_options_fastclose(struct = sock *sk, opts->suboptions |=3D OPTION_MPTCP_FASTCLOSE; opts->rcvr_key =3D msk->remote_key; =20 - pr_debug("FASTCLOSE key=3D%llu", opts->rcvr_key); + pr_debug("FASTCLOSE key=3D%llu\n", opts->rcvr_key); MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_MPFASTCLOSETX); return true; } @@ -811,7 +811,7 @@ static bool mptcp_established_options_mp_fail(struct so= ck *sk, opts->suboptions |=3D OPTION_MPTCP_FAIL; opts->fail_seq =3D subflow->map_seq; =20 - pr_debug("MP_FAIL fail_seq=3D%llu", opts->fail_seq); + pr_debug("MP_FAIL fail_seq=3D%llu\n", opts->fail_seq); MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_MPFAILTX); =20 return true; @@ -899,7 +899,7 @@ bool mptcp_synack_options(const struct request_sock *re= q, unsigned int *size, opts->csum_reqd =3D subflow_req->csum_reqd; opts->allow_join_id0 =3D subflow_req->allow_join_id0; *size =3D TCPOLEN_MPTCP_MPC_SYNACK; - pr_debug("subflow_req=3D%p, local_key=3D%llu", + pr_debug("subflow_req=3D%p, local_key=3D%llu\n", subflow_req, subflow_req->local_key); return true; } else if (subflow_req->mp_join) { @@ -908,7 +908,7 @@ bool mptcp_synack_options(const struct request_sock *re= q, unsigned int *size, opts->join_id =3D subflow_req->local_id; opts->thmac =3D subflow_req->thmac; opts->nonce =3D subflow_req->local_nonce; - pr_debug("req=3D%p, bkup=3D%u, id=3D%u, thmac=3D%llu, nonce=3D%u", + pr_debug("req=3D%p, bkup=3D%u, id=3D%u, thmac=3D%llu, nonce=3D%u\n", subflow_req, opts->backup, opts->join_id, opts->thmac, opts->nonce); *size =3D TCPOLEN_MPTCP_MPJ_SYNACK; diff --git a/net/mptcp/pm.c b/net/mptcp/pm.c index 5646c7275a92..34120694ad49 100644 --- a/net/mptcp/pm.c +++ b/net/mptcp/pm.c @@ -20,7 +20,7 @@ int mptcp_pm_announce_addr(struct mptcp_sock *msk, { u8 add_addr =3D READ_ONCE(msk->pm.addr_signal); =20 - pr_debug("msk=3D%p, local_id=3D%d, echo=3D%d", msk, addr->id, echo); + pr_debug("msk=3D%p, local_id=3D%d, echo=3D%d\n", msk, addr->id, echo); =20 lockdep_assert_held(&msk->pm.lock); =20 @@ -45,7 +45,7 @@ int mptcp_pm_remove_addr(struct mptcp_sock *msk, const st= ruct mptcp_rm_list *rm_ { u8 rm_addr =3D READ_ONCE(msk->pm.addr_signal); =20 - pr_debug("msk=3D%p, rm_list_nr=3D%d", msk, rm_list->nr); + pr_debug("msk=3D%p, rm_list_nr=3D%d\n", msk, rm_list->nr); =20 if (rm_addr) { pr_warn("addr_signal error, rm_addr=3D%d", rm_addr); @@ -65,7 +65,7 @@ void mptcp_pm_new_connection(struct mptcp_sock *msk, cons= t struct sock *ssk, int { struct mptcp_pm_data *pm =3D &msk->pm; =20 - pr_debug("msk=3D%p, token=3D%u side=3D%d", msk, msk->token, server_side); + pr_debug("msk=3D%p, token=3D%u side=3D%d\n", msk, msk->token, server_side= ); =20 WRITE_ONCE(pm->server_side, server_side); mptcp_event(MPTCP_EVENT_CREATED, msk, ssk, GFP_ATOMIC); @@ -89,7 +89,7 @@ bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk) =20 subflows_max =3D mptcp_pm_get_subflows_max(msk); =20 - pr_debug("msk=3D%p subflows=3D%d max=3D%d allow=3D%d", msk, pm->subflows, + pr_debug("msk=3D%p subflows=3D%d max=3D%d allow=3D%d\n", msk, pm->subflow= s, subflows_max, READ_ONCE(pm->accept_subflow)); =20 /* try to avoid acquiring the lock below */ @@ -113,7 +113,7 @@ bool mptcp_pm_allow_new_subflow(struct mptcp_sock *msk) static bool mptcp_pm_schedule_work(struct mptcp_sock *msk, enum mptcp_pm_status new_status) { - pr_debug("msk=3D%p status=3D%x new=3D%lx", msk, msk->pm.status, + pr_debug("msk=3D%p status=3D%x new=3D%lx\n", msk, msk->pm.status, BIT(new_status)); if (msk->pm.status & BIT(new_status)) return false; @@ -128,7 +128,7 @@ void mptcp_pm_fully_established(struct mptcp_sock *msk,= const struct sock *ssk, struct mptcp_pm_data *pm =3D &msk->pm; bool announce =3D false; =20 - pr_debug("msk=3D%p", msk); + pr_debug("msk=3D%p\n", msk); =20 spin_lock_bh(&pm->lock); =20 @@ -152,14 +152,14 @@ void mptcp_pm_fully_established(struct mptcp_sock *ms= k, const struct sock *ssk, =20 void mptcp_pm_connection_closed(struct mptcp_sock *msk) { - pr_debug("msk=3D%p", msk); + pr_debug("msk=3D%p\n", msk); } =20 void mptcp_pm_subflow_established(struct mptcp_sock *msk) { struct mptcp_pm_data *pm =3D &msk->pm; =20 - pr_debug("msk=3D%p", msk); + pr_debug("msk=3D%p\n", msk); =20 if (!READ_ONCE(pm->work_pending)) return; @@ -211,7 +211,7 @@ void mptcp_pm_add_addr_received(const struct sock *ssk, struct mptcp_sock *msk =3D mptcp_sk(subflow->conn); struct mptcp_pm_data *pm =3D &msk->pm; =20 - pr_debug("msk=3D%p remote_id=3D%d accept=3D%d", msk, addr->id, + pr_debug("msk=3D%p remote_id=3D%d accept=3D%d\n", msk, addr->id, READ_ONCE(pm->accept_addr)); =20 mptcp_event_addr_announced(ssk, addr); @@ -244,7 +244,7 @@ void mptcp_pm_add_addr_echoed(struct mptcp_sock *msk, { struct mptcp_pm_data *pm =3D &msk->pm; =20 - pr_debug("msk=3D%p", msk); + pr_debug("msk=3D%p\n", msk); =20 spin_lock_bh(&pm->lock); =20 @@ -268,7 +268,7 @@ void mptcp_pm_rm_addr_received(struct mptcp_sock *msk, struct mptcp_pm_data *pm =3D &msk->pm; u8 i; =20 - pr_debug("msk=3D%p remote_ids_nr=3D%d", msk, rm_list->nr); + pr_debug("msk=3D%p remote_ids_nr=3D%d\n", msk, rm_list->nr); =20 for (i =3D 0; i < rm_list->nr; i++) mptcp_event_addr_removed(msk, rm_list->ids[i]); @@ -307,19 +307,19 @@ void mptcp_pm_mp_fail_received(struct sock *sk, u64 f= ail_seq) struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(sk); struct mptcp_sock *msk =3D mptcp_sk(subflow->conn); =20 - pr_debug("fail_seq=3D%llu", fail_seq); + pr_debug("fail_seq=3D%llu\n", fail_seq); =20 if (!READ_ONCE(msk->allow_infinite_fallback)) return; =20 if (!subflow->fail_tout) { - pr_debug("send MP_FAIL response and infinite map"); + pr_debug("send MP_FAIL response and infinite map\n"); =20 subflow->send_mp_fail =3D 1; subflow->send_infinite_map =3D 1; tcp_send_ack(sk); } else { - pr_debug("MP_FAIL response received"); + pr_debug("MP_FAIL response received\n"); WRITE_ONCE(subflow->fail_tout, 0); } } diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 2f8a13589ed6..f148610c64e4 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -305,7 +305,7 @@ static void mptcp_pm_add_timer(struct timer_list *timer) struct mptcp_sock *msk =3D entry->sock; struct sock *sk =3D (struct sock *)msk; =20 - pr_debug("msk=3D%p", msk); + pr_debug("msk=3D%p\n", msk); =20 if (!msk) return; @@ -324,7 +324,7 @@ static void mptcp_pm_add_timer(struct timer_list *timer) spin_lock_bh(&msk->pm.lock); =20 if (!mptcp_pm_should_add_signal_addr(msk)) { - pr_debug("retransmit ADD_ADDR id=3D%d", entry->addr.id); + pr_debug("retransmit ADD_ADDR id=3D%d\n", entry->addr.id); mptcp_pm_announce_addr(msk, &entry->addr, false); mptcp_pm_add_addr_send_ack(msk); entry->retrans_times++; @@ -405,7 +405,7 @@ void mptcp_pm_free_anno_list(struct mptcp_sock *msk) struct sock *sk =3D (struct sock *)msk; LIST_HEAD(free_list); =20 - pr_debug("msk=3D%p", msk); + pr_debug("msk=3D%p\n", msk); =20 spin_lock_bh(&msk->pm.lock); list_splice_init(&msk->pm.anno_list, &free_list); @@ -482,7 +482,7 @@ static void __mptcp_pm_send_ack(struct mptcp_sock *msk,= struct mptcp_subflow_con struct sock *ssk =3D mptcp_subflow_tcp_sock(subflow); bool slow; =20 - pr_debug("send ack for %s", + pr_debug("send ack for %s\n", prio ? "mp_prio" : (mptcp_pm_should_add_signal(msk) ? "add_addr" : "rm_= addr")); =20 slow =3D lock_sock_fast(ssk); @@ -732,7 +732,7 @@ static void mptcp_pm_nl_add_addr_received(struct mptcp_= sock *msk) add_addr_accept_max =3D mptcp_pm_get_add_addr_accept_max(msk); subflows_max =3D mptcp_pm_get_subflows_max(msk); =20 - pr_debug("accepted %d:%d remote family %d", + pr_debug("accepted %d:%d remote family %d\n", msk->pm.add_addr_accepted, add_addr_accept_max, msk->pm.remote.family); =20 @@ -803,7 +803,7 @@ int mptcp_pm_nl_mp_prio_send_ack(struct mptcp_sock *msk, { struct mptcp_subflow_context *subflow; =20 - pr_debug("bkup=3D%d", bkup); + pr_debug("bkup=3D%d\n", bkup); =20 mptcp_for_each_subflow(msk, subflow) { struct sock *ssk =3D mptcp_subflow_tcp_sock(subflow); @@ -839,7 +839,7 @@ static void mptcp_pm_nl_rm_addr_or_subflow(struct mptcp= _sock *msk, struct sock *sk =3D (struct sock *)msk; u8 i; =20 - pr_debug("%s rm_list_nr %d", + pr_debug("%s rm_list_nr %d\n", rm_type =3D=3D MPTCP_MIB_RMADDR ? "address" : "subflow", rm_list->nr); =20 msk_owned_by_me(msk); @@ -870,7 +870,7 @@ static void mptcp_pm_nl_rm_addr_or_subflow(struct mptcp= _sock *msk, if (rm_type =3D=3D MPTCP_MIB_RMSUBFLOW && !mptcp_local_id_match(msk, id= , rm_id)) continue; =20 - pr_debug(" -> %s rm_list_ids[%d]=3D%u local_id=3D%u remote_id=3D%u mpc_= id=3D%u", + pr_debug(" -> %s rm_list_ids[%d]=3D%u local_id=3D%u remote_id=3D%u mpc_= id=3D%u\n", rm_type =3D=3D MPTCP_MIB_RMADDR ? "address" : "subflow", i, rm_id, id, remote_id, msk->mpc_endpoint_id); spin_unlock_bh(&msk->pm.lock); @@ -927,7 +927,7 @@ void mptcp_pm_nl_work(struct mptcp_sock *msk) =20 spin_lock_bh(&msk->pm.lock); =20 - pr_debug("msk=3D%p status=3D%x", msk, pm->status); + pr_debug("msk=3D%p status=3D%x\n", msk, pm->status); if (pm->status & BIT(MPTCP_PM_ADD_ADDR_RECEIVED)) { pm->status &=3D ~BIT(MPTCP_PM_ADD_ADDR_RECEIVED); mptcp_pm_nl_add_addr_received(msk); @@ -1539,7 +1539,7 @@ static int mptcp_nl_remove_subflow_and_signal_addr(st= ruct net *net, long s_slot =3D 0, s_num =3D 0; struct mptcp_sock *msk; =20 - pr_debug("remove_id=3D%d", addr->id); + pr_debug("remove_id=3D%d\n", addr->id); =20 list.ids[list.nr++] =3D addr->id; =20 diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 258dbfe9fad3..c1b35ca952b4 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -152,7 +152,7 @@ static bool mptcp_try_coalesce(struct sock *sk, struct = sk_buff *to, !skb_try_coalesce(to, from, &fragstolen, &delta)) return false; =20 - pr_debug("colesced seq %llx into %llx new len %d new end seq %llx", + pr_debug("colesced seq %llx into %llx new len %d new end seq %llx\n", MPTCP_SKB_CB(from)->map_seq, MPTCP_SKB_CB(to)->map_seq, to->len, MPTCP_SKB_CB(from)->end_seq); MPTCP_SKB_CB(to)->end_seq =3D MPTCP_SKB_CB(from)->end_seq; @@ -230,7 +230,7 @@ static void mptcp_data_queue_ofo(struct mptcp_sock *msk= , struct sk_buff *skb) end_seq =3D MPTCP_SKB_CB(skb)->end_seq; max_seq =3D atomic64_read(&msk->rcv_wnd_sent); =20 - pr_debug("msk=3D%p seq=3D%llx limit=3D%llx empty=3D%d", msk, seq, max_seq, + pr_debug("msk=3D%p seq=3D%llx limit=3D%llx empty=3D%d\n", msk, seq, max_s= eq, RB_EMPTY_ROOT(&msk->out_of_order_queue)); if (after64(end_seq, max_seq)) { /* out of window */ @@ -653,7 +653,7 @@ static bool __mptcp_move_skbs_from_subflow(struct mptcp= _sock *msk, } } =20 - pr_debug("msk=3D%p ssk=3D%p", msk, ssk); + pr_debug("msk=3D%p ssk=3D%p\n", msk, ssk); tp =3D tcp_sk(ssk); do { u32 map_remaining, offset; @@ -732,7 +732,7 @@ static bool __mptcp_ofo_queue(struct mptcp_sock *msk) u64 end_seq; =20 p =3D rb_first(&msk->out_of_order_queue); - pr_debug("msk=3D%p empty=3D%d", msk, RB_EMPTY_ROOT(&msk->out_of_order_que= ue)); + pr_debug("msk=3D%p empty=3D%d\n", msk, RB_EMPTY_ROOT(&msk->out_of_order_q= ueue)); while (p) { skb =3D rb_to_skb(p); if (after64(MPTCP_SKB_CB(skb)->map_seq, msk->ack_seq)) @@ -754,7 +754,7 @@ static bool __mptcp_ofo_queue(struct mptcp_sock *msk) int delta =3D msk->ack_seq - MPTCP_SKB_CB(skb)->map_seq; =20 /* skip overlapping data, if any */ - pr_debug("uncoalesced seq=3D%llx ack seq=3D%llx delta=3D%d", + pr_debug("uncoalesced seq=3D%llx ack seq=3D%llx delta=3D%d\n", MPTCP_SKB_CB(skb)->map_seq, msk->ack_seq, delta); MPTCP_SKB_CB(skb)->offset +=3D delta; @@ -1292,7 +1292,7 @@ static int mptcp_sendmsg_frag(struct sock *sk, struct= sock *ssk, size_t copy; int i; =20 - pr_debug("msk=3D%p ssk=3D%p sending dfrag at seq=3D%llu len=3D%u already = sent=3D%u", + pr_debug("msk=3D%p ssk=3D%p sending dfrag at seq=3D%llu len=3D%u already = sent=3D%u\n", msk, ssk, dfrag->data_seq, dfrag->data_len, info->sent); =20 if (WARN_ON_ONCE(info->sent > info->limit || @@ -1393,7 +1393,7 @@ static int mptcp_sendmsg_frag(struct sock *sk, struct= sock *ssk, mpext->use_map =3D 1; mpext->dsn64 =3D 1; =20 - pr_debug("data_seq=3D%llu subflow_seq=3D%u data_len=3D%u dsn64=3D%d", + pr_debug("data_seq=3D%llu subflow_seq=3D%u data_len=3D%u dsn64=3D%d\n", mpext->data_seq, mpext->subflow_seq, mpext->data_len, mpext->dsn64); =20 @@ -1870,7 +1870,7 @@ static int mptcp_sendmsg(struct sock *sk, struct msgh= dr *msg, size_t len) if (!msk->first_pending) WRITE_ONCE(msk->first_pending, dfrag); } - pr_debug("msk=3D%p dfrag at seq=3D%llu len=3D%u sent=3D%u new=3D%d", msk, + pr_debug("msk=3D%p dfrag at seq=3D%llu len=3D%u sent=3D%u new=3D%d\n", m= sk, dfrag->data_seq, dfrag->data_len, dfrag->already_sent, !dfrag_collapsed); =20 @@ -2226,7 +2226,7 @@ static int mptcp_recvmsg(struct sock *sk, struct msgh= dr *msg, size_t len, } } =20 - pr_debug("block timeout %ld", timeo); + pr_debug("block timeout %ld\n", timeo); sk_wait_data(sk, &timeo, NULL); } =20 @@ -2242,7 +2242,7 @@ static int mptcp_recvmsg(struct sock *sk, struct msgh= dr *msg, size_t len, } } =20 - pr_debug("msk=3D%p rx queue empty=3D%d:%d copied=3D%d", + pr_debug("msk=3D%p rx queue empty=3D%d:%d copied=3D%d\n", msk, skb_queue_empty_lockless(&sk->sk_receive_queue), skb_queue_empty(&msk->receive_queue), copied); if (!(flags & MSG_PEEK)) @@ -2697,7 +2697,7 @@ static void mptcp_mp_fail_no_response(struct mptcp_so= ck *msk) if (!ssk) return; =20 - pr_debug("MP_FAIL doesn't respond, reset the subflow"); + pr_debug("MP_FAIL doesn't respond, reset the subflow\n"); =20 slow =3D lock_sock_fast(ssk); mptcp_subflow_reset(ssk); @@ -2869,7 +2869,7 @@ void mptcp_subflow_shutdown(struct sock *sk, struct s= ock *ssk, int how) break; default: if (__mptcp_check_fallback(mptcp_sk(sk))) { - pr_debug("Fallback"); + pr_debug("Fallback\n"); ssk->sk_shutdown |=3D how; tcp_shutdown(ssk, how); =20 @@ -2879,7 +2879,7 @@ void mptcp_subflow_shutdown(struct sock *sk, struct s= ock *ssk, int how) WRITE_ONCE(mptcp_sk(sk)->snd_una, mptcp_sk(sk)->snd_nxt); mptcp_schedule_work(sk); } else { - pr_debug("Sending DATA_FIN on subflow %p", ssk); + pr_debug("Sending DATA_FIN on subflow %p\n", ssk); tcp_send_ack(ssk); if (!mptcp_rtx_timer_pending(sk)) mptcp_reset_rtx_timer(sk); @@ -2922,7 +2922,7 @@ static void mptcp_check_send_data_fin(struct sock *sk) struct mptcp_subflow_context *subflow; struct mptcp_sock *msk =3D mptcp_sk(sk); =20 - pr_debug("msk=3D%p snd_data_fin_enable=3D%d pending=3D%d snd_nxt=3D%llu w= rite_seq=3D%llu", + pr_debug("msk=3D%p snd_data_fin_enable=3D%d pending=3D%d snd_nxt=3D%llu w= rite_seq=3D%llu\n", msk, msk->snd_data_fin_enable, !!mptcp_send_head(sk), msk->snd_nxt, msk->write_seq); =20 @@ -2946,7 +2946,7 @@ static void __mptcp_wr_shutdown(struct sock *sk) { struct mptcp_sock *msk =3D mptcp_sk(sk); =20 - pr_debug("msk=3D%p snd_data_fin_enable=3D%d shutdown=3D%x state=3D%d pend= ing=3D%d", + pr_debug("msk=3D%p snd_data_fin_enable=3D%d shutdown=3D%x state=3D%d pend= ing=3D%d\n", msk, msk->snd_data_fin_enable, sk->sk_shutdown, sk->sk_state, !!mptcp_send_head(sk)); =20 @@ -2961,7 +2961,7 @@ static void __mptcp_destroy_sock(struct sock *sk) { struct mptcp_sock *msk =3D mptcp_sk(sk); =20 - pr_debug("msk=3D%p", msk); + pr_debug("msk=3D%p\n", msk); =20 might_sleep(); =20 @@ -3073,7 +3073,7 @@ bool __mptcp_close(struct sock *sk, long timeout) inet_sk_state_store(sk, TCP_CLOSE); =20 sock_hold(sk); - pr_debug("msk=3D%p state=3D%d", sk, sk->sk_state); + pr_debug("msk=3D%p state=3D%d\n", sk, sk->sk_state); if (mptcp_sk(sk)->token) mptcp_event(MPTCP_EVENT_CLOSED, msk, NULL, GFP_KERNEL); =20 @@ -3331,12 +3331,12 @@ static struct sock *mptcp_accept(struct sock *sk, i= nt flags, int *err, return NULL; } =20 - pr_debug("msk=3D%p, listener=3D%p", msk, mptcp_subflow_ctx(listener->sk)); + pr_debug("msk=3D%p, listener=3D%p\n", msk, mptcp_subflow_ctx(listener->sk= )); newsk =3D inet_csk_accept(listener->sk, flags, err, kern); if (!newsk) return NULL; =20 - pr_debug("msk=3D%p, subflow is mptcp=3D%d", msk, sk_is_mptcp(newsk)); + pr_debug("msk=3D%p, subflow is mptcp=3D%d\n", msk, sk_is_mptcp(newsk)); if (sk_is_mptcp(newsk)) { struct mptcp_subflow_context *subflow; struct sock *new_mptcp_sock; @@ -3550,7 +3550,7 @@ static int mptcp_get_port(struct sock *sk, unsigned s= hort snum) struct socket *ssock; =20 ssock =3D msk->subflow; - pr_debug("msk=3D%p, subflow=3D%p", msk, ssock); + pr_debug("msk=3D%p, subflow=3D%p\n", msk, ssock); if (WARN_ON_ONCE(!ssock)) return -EINVAL; =20 @@ -3568,7 +3568,7 @@ void mptcp_finish_connect(struct sock *ssk) sk =3D subflow->conn; msk =3D mptcp_sk(sk); =20 - pr_debug("msk=3D%p, token=3D%u", sk, subflow->token); + pr_debug("msk=3D%p, token=3D%u\n", sk, subflow->token); =20 mptcp_crypto_key_sha(subflow->remote_key, NULL, &ack_seq); ack_seq++; @@ -3608,7 +3608,7 @@ bool mptcp_finish_join(struct sock *ssk) struct sock *parent =3D (void *)msk; bool ret =3D true; =20 - pr_debug("msk=3D%p, subflow=3D%p", msk, subflow); + pr_debug("msk=3D%p, subflow=3D%p\n", msk, subflow); =20 /* mptcp socket already closing? */ if (!mptcp_is_fully_established(parent)) { @@ -3653,7 +3653,7 @@ bool mptcp_finish_join(struct sock *ssk) =20 static void mptcp_shutdown(struct sock *sk, int how) { - pr_debug("sk=3D%p, how=3D%d", sk, how); + pr_debug("sk=3D%p, how=3D%d\n", sk, how); =20 if ((how & SEND_SHUTDOWN) && mptcp_close_state(sk)) __mptcp_wr_shutdown(sk); @@ -3854,7 +3854,7 @@ static int mptcp_listen(struct socket *sock, int back= log) struct socket *ssock; int err; =20 - pr_debug("msk=3D%p", msk); + pr_debug("msk=3D%p\n", msk); =20 lock_sock(sk); =20 @@ -3889,7 +3889,7 @@ static int mptcp_stream_accept(struct socket *sock, s= truct socket *newsock, struct socket *ssock; int err; =20 - pr_debug("msk=3D%p", msk); + pr_debug("msk=3D%p\n", msk); =20 /* Buggy applications can call accept on socket states other then LISTEN * but no need to allocate the first subflow just to error out. @@ -3963,7 +3963,7 @@ static __poll_t mptcp_poll(struct file *file, struct = socket *sock, sock_poll_wait(file, sock, wait); =20 state =3D inet_sk_state_load(sk); - pr_debug("msk=3D%p state=3D%d flags=3D%lx", msk, state, msk->flags); + pr_debug("msk=3D%p state=3D%d flags=3D%lx\n", msk, state, msk->flags); if (state =3D=3D TCP_LISTEN) { struct socket *ssock =3D READ_ONCE(msk->subflow); =20 diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index c3cd68edab77..837703405d85 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -975,7 +975,7 @@ static inline bool mptcp_check_fallback(const struct so= ck *sk) static inline void __mptcp_do_fallback(struct mptcp_sock *msk) { if (test_bit(MPTCP_FALLBACK_DONE, &msk->flags)) { - pr_debug("TCP fallback already done (msk=3D%p)", msk); + pr_debug("TCP fallback already done (msk=3D%p)\n", msk); return; } set_bit(MPTCP_FALLBACK_DONE, &msk->flags); @@ -1002,7 +1002,7 @@ static inline void mptcp_do_fallback(struct sock *ssk) } } =20 -#define pr_fallback(a) pr_debug("%s:fallback to TCP (msk=3D%p)", __func__,= a) +#define pr_fallback(a) pr_debug("%s:fallback to TCP (msk=3D%p)\n", __func_= _, a) =20 static inline bool mptcp_check_infinite_map(struct sk_buff *skb) { diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c index ff82fc062ae7..766797ace942 100644 --- a/net/mptcp/sockopt.c +++ b/net/mptcp/sockopt.c @@ -881,7 +881,7 @@ int mptcp_setsockopt(struct sock *sk, int level, int op= tname, struct mptcp_sock *msk =3D mptcp_sk(sk); struct sock *ssk; =20 - pr_debug("msk=3D%p", msk); + pr_debug("msk=3D%p\n", msk); =20 if (level =3D=3D SOL_SOCKET) return mptcp_setsockopt_sol_socket(msk, optname, optval, optlen); @@ -1292,7 +1292,7 @@ int mptcp_getsockopt(struct sock *sk, int level, int = optname, struct mptcp_sock *msk =3D mptcp_sk(sk); struct sock *ssk; =20 - pr_debug("msk=3D%p", msk); + pr_debug("msk=3D%p\n", msk); =20 /* @@ the meaning of setsockopt() when the socket is connected and * there are multiple subflows is not yet defined. It is up to the diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 1a92c8edd0a0..dc3666298bef 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -39,7 +39,7 @@ static void subflow_req_destructor(struct request_sock *r= eq) { struct mptcp_subflow_request_sock *subflow_req =3D mptcp_subflow_rsk(req); =20 - pr_debug("subflow_req=3D%p", subflow_req); + pr_debug("subflow_req=3D%p\n", subflow_req); =20 if (subflow_req->msk) sock_put((struct sock *)subflow_req->msk); @@ -145,7 +145,7 @@ static int subflow_check_req(struct request_sock *req, struct mptcp_options_received mp_opt; bool opt_mp_capable, opt_mp_join; =20 - pr_debug("subflow_req=3D%p, listener=3D%p", subflow_req, listener); + pr_debug("subflow_req=3D%p, listener=3D%p\n", subflow_req, listener); =20 #ifdef CONFIG_TCP_MD5SIG /* no MPTCP if MD5SIG is enabled on this socket or we may run out of @@ -218,7 +218,7 @@ static int subflow_check_req(struct request_sock *req, } =20 if (subflow_use_different_sport(subflow_req->msk, sk_listener)) { - pr_debug("syn inet_sport=3D%d %d", + pr_debug("syn inet_sport=3D%d %d\n", ntohs(inet_sk(sk_listener)->inet_sport), ntohs(inet_sk((struct sock *)subflow_req->msk)->inet_sport)); if (!mptcp_pm_sport_in_anno_list(subflow_req->msk, sk_listener)) { @@ -237,7 +237,7 @@ static int subflow_check_req(struct request_sock *req, return -EPERM; } =20 - pr_debug("token=3D%u, remote_nonce=3D%u msk=3D%p", subflow_req->token, + pr_debug("token=3D%u, remote_nonce=3D%u msk=3D%p\n", subflow_req->token, subflow_req->remote_nonce, subflow_req->msk); } =20 @@ -415,7 +415,7 @@ static void subflow_finish_connect(struct sock *sk, con= st struct sk_buff *skb) subflow->rel_write_seq =3D 1; subflow->conn_finished =3D 1; subflow->ssn_offset =3D TCP_SKB_CB(skb)->seq; - pr_debug("subflow=3D%p synack seq=3D%x", subflow, subflow->ssn_offset); + pr_debug("subflow=3D%p synack seq=3D%x\n", subflow, subflow->ssn_offset); =20 mptcp_get_options(skb, &mp_opt); if (subflow->request_mptcp) { @@ -434,7 +434,7 @@ static void subflow_finish_connect(struct sock *sk, con= st struct sk_buff *skb) subflow->mp_capable =3D 1; subflow->can_ack =3D 1; subflow->remote_key =3D mp_opt.sndr_key; - pr_debug("subflow=3D%p, remote_key=3D%llu", subflow, + pr_debug("subflow=3D%p, remote_key=3D%llu\n", subflow, subflow->remote_key); MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_MPCAPABLEACTIVEACK); mptcp_finish_connect(sk); @@ -451,7 +451,7 @@ static void subflow_finish_connect(struct sock *sk, con= st struct sk_buff *skb) subflow->thmac =3D mp_opt.thmac; subflow->remote_nonce =3D mp_opt.nonce; WRITE_ONCE(subflow->remote_id, mp_opt.join_id); - pr_debug("subflow=3D%p, thmac=3D%llu, remote_nonce=3D%u backup=3D%d", + pr_debug("subflow=3D%p, thmac=3D%llu, remote_nonce=3D%u backup=3D%d\n", subflow, subflow->thmac, subflow->remote_nonce, subflow->backup); =20 @@ -477,7 +477,7 @@ static void subflow_finish_connect(struct sock *sk, con= st struct sk_buff *skb) MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_JOINSYNACKBACKUPRX); =20 if (subflow_use_different_dport(mptcp_sk(parent), sk)) { - pr_debug("synack inet_dport=3D%d %d", + pr_debug("synack inet_dport=3D%d %d\n", ntohs(inet_sk(sk)->inet_dport), ntohs(inet_sk(parent)->inet_dport)); MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_JOINPORTSYNACKRX); @@ -548,7 +548,7 @@ static int subflow_v4_conn_request(struct sock *sk, str= uct sk_buff *skb) { struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(sk); =20 - pr_debug("subflow=3D%p", subflow); + pr_debug("subflow=3D%p\n", subflow); =20 /* Never answer to SYNs sent to broadcast or multicast */ if (skb_rtable(skb)->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST)) @@ -579,7 +579,7 @@ static int subflow_v6_conn_request(struct sock *sk, str= uct sk_buff *skb) { struct mptcp_subflow_context *subflow =3D mptcp_subflow_ctx(sk); =20 - pr_debug("subflow=3D%p", subflow); + pr_debug("subflow=3D%p\n", subflow); =20 if (skb->protocol =3D=3D htons(ETH_P_IP)) return subflow_v4_conn_request(sk, skb); @@ -697,7 +697,7 @@ static struct sock *subflow_syn_recv_sock(const struct = sock *sk, struct mptcp_sock *owner; struct sock *child; =20 - pr_debug("listener=3D%p, req=3D%p, conn=3D%p", listener, req, listener->c= onn); + pr_debug("listener=3D%p, req=3D%p, conn=3D%p\n", listener, req, listener-= >conn); =20 /* After child creation we must look for MPC even when options * are not parsed @@ -788,7 +788,7 @@ static struct sock *subflow_syn_recv_sock(const struct = sock *sk, ctx->conn =3D (struct sock *)owner; =20 if (subflow_use_different_sport(owner, sk)) { - pr_debug("ack inet_sport=3D%d %d", + pr_debug("ack inet_sport=3D%d %d\n", ntohs(inet_sk(sk)->inet_sport), ntohs(inet_sk((struct sock *)owner)->inet_sport)); if (!mptcp_pm_sport_in_anno_list(owner, sk)) { @@ -845,7 +845,7 @@ enum mapping_status { =20 static void dbg_bad_map(struct mptcp_subflow_context *subflow, u32 ssn) { - pr_debug("Bad mapping: ssn=3D%d map_seq=3D%d map_data_len=3D%d", + pr_debug("Bad mapping: ssn=3D%d map_seq=3D%d map_data_len=3D%d\n", ssn, subflow->map_subflow_seq, subflow->map_data_len); } =20 @@ -1005,7 +1005,7 @@ static enum mapping_status get_mapping_status(struct = sock *ssk, =20 data_len =3D mpext->data_len; if (data_len =3D=3D 0) { - pr_debug("infinite mapping received"); + pr_debug("infinite mapping received\n"); MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_INFINITEMAPRX); subflow->map_data_len =3D 0; return MAPPING_INVALID; @@ -1015,7 +1015,7 @@ static enum mapping_status get_mapping_status(struct = sock *ssk, if (data_len =3D=3D 1) { bool updated =3D mptcp_update_rcv_data_fin(msk, mpext->data_seq, mpext->dsn64); - pr_debug("DATA_FIN with no payload seq=3D%llu", mpext->data_seq); + pr_debug("DATA_FIN with no payload seq=3D%llu\n", mpext->data_seq); if (subflow->map_valid) { /* A DATA_FIN might arrive in a DSS * option before the previous mapping @@ -1040,7 +1040,7 @@ static enum mapping_status get_mapping_status(struct = sock *ssk, data_fin_seq &=3D GENMASK_ULL(31, 0); =20 mptcp_update_rcv_data_fin(msk, data_fin_seq, mpext->dsn64); - pr_debug("DATA_FIN with mapping seq=3D%llu dsn64=3D%d", + pr_debug("DATA_FIN with mapping seq=3D%llu dsn64=3D%d\n", data_fin_seq, mpext->dsn64); } =20 @@ -1087,7 +1087,7 @@ static enum mapping_status get_mapping_status(struct = sock *ssk, if (unlikely(subflow->map_csum_reqd !=3D csum_reqd)) return MAPPING_INVALID; =20 - pr_debug("new map seq=3D%llu subflow_seq=3D%u data_len=3D%u csum=3D%d:%u", + pr_debug("new map seq=3D%llu subflow_seq=3D%u data_len=3D%u csum=3D%d:%u\= n", subflow->map_seq, subflow->map_subflow_seq, subflow->map_data_len, subflow->map_csum_reqd, subflow->map_data_csum); @@ -1122,7 +1122,7 @@ static void mptcp_subflow_discard_data(struct sock *s= sk, struct sk_buff *skb, avail_len =3D skb->len - offset; incr =3D limit >=3D avail_len ? avail_len + fin : limit; =20 - pr_debug("discarding=3D%d len=3D%d offset=3D%d seq=3D%d", incr, skb->len, + pr_debug("discarding=3D%d len=3D%d offset=3D%d seq=3D%d\n", incr, skb->le= n, offset, subflow->map_subflow_seq); MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_DUPDATA); tcp_sk(ssk)->copied_seq +=3D incr; @@ -1231,7 +1231,7 @@ static bool subflow_check_data_avail(struct sock *ssk) =20 old_ack =3D READ_ONCE(msk->ack_seq); ack_seq =3D mptcp_subflow_get_mapped_dsn(subflow); - pr_debug("msk ack_seq=3D%llx subflow ack_seq=3D%llx", old_ack, + pr_debug("msk ack_seq=3D%llx subflow ack_seq=3D%llx\n", old_ack, ack_seq); if (unlikely(before64(ack_seq, old_ack))) { mptcp_subflow_discard_data(ssk, skb, old_ack - ack_seq); @@ -1303,7 +1303,7 @@ bool mptcp_subflow_data_available(struct sock *sk) subflow->map_valid =3D 0; WRITE_ONCE(subflow->data_avail, MPTCP_SUBFLOW_NODATA); =20 - pr_debug("Done with mapping: seq=3D%u data_len=3D%u", + pr_debug("Done with mapping: seq=3D%u data_len=3D%u\n", subflow->map_subflow_seq, subflow->map_data_len); } @@ -1403,7 +1403,7 @@ void mptcpv6_handle_mapped(struct sock *sk, bool mapp= ed) =20 target =3D mapped ? &subflow_v6m_specific : subflow_default_af_ops(sk); =20 - pr_debug("subflow=3D%p family=3D%d ops=3D%p target=3D%p mapped=3D%d", + pr_debug("subflow=3D%p family=3D%d ops=3D%p target=3D%p mapped=3D%d\n", subflow, sk->sk_family, icsk->icsk_af_ops, target, mapped); =20 if (likely(icsk->icsk_af_ops =3D=3D target)) @@ -1497,7 +1497,7 @@ int __mptcp_subflow_connect(struct sock *sk, const st= ruct mptcp_addr_info *loc, goto failed; =20 mptcp_crypto_key_sha(subflow->remote_key, &remote_token, NULL); - pr_debug("msk=3D%p remote_token=3D%u local_id=3D%d remote_id=3D%d", msk, + pr_debug("msk=3D%p remote_token=3D%u local_id=3D%d remote_id=3D%d\n", msk, remote_token, local_id, remote_id); subflow->remote_token =3D remote_token; WRITE_ONCE(subflow->remote_id, remote_id); @@ -1626,7 +1626,7 @@ int mptcp_subflow_create_socket(struct sock *sk, unsi= gned short family, SOCK_INODE(sf)->i_gid =3D SOCK_INODE(sk->sk_socket)->i_gid; =20 subflow =3D mptcp_subflow_ctx(sf->sk); - pr_debug("subflow=3D%p", subflow); + pr_debug("subflow=3D%p\n", subflow); =20 *new_sock =3D sf; sock_hold(sk); @@ -1650,7 +1650,7 @@ static struct mptcp_subflow_context *subflow_create_c= tx(struct sock *sk, INIT_LIST_HEAD(&ctx->node); INIT_LIST_HEAD(&ctx->delegated_node); =20 - pr_debug("subflow=3D%p", ctx); + pr_debug("subflow=3D%p\n", ctx); =20 ctx->tcp_sock =3D sk; WRITE_ONCE(ctx->local_id, -1); @@ -1803,7 +1803,7 @@ static int subflow_ulp_init(struct sock *sk) goto out; } =20 - pr_debug("subflow=3D%p, family=3D%d", ctx, sk->sk_family); + pr_debug("subflow=3D%p, family=3D%d\n", ctx, sk->sk_family); =20 tp->is_mptcp =3D 1; ctx->icsk_af_ops =3D icsk->icsk_af_ops; --=20 2.45.2