diff mbox series

[mptcp-next] mptcp: subflow: get_af_ops should return const

Message ID 20220210145534.32660-1-fw@strlen.de (mailing list archive)
State Accepted, archived
Commit a2b3e7491b59f26270cbd9e7402fbe2e64c7e268
Delegated to: Matthieu Baerts
Headers show
Series [mptcp-next] mptcp: subflow: get_af_ops should return const | expand

Checks

Context Check Description
matttbe/build success Build and static analysis OK
matttbe/checkpatch warning total: 0 errors, 1 warnings, 0 checks, 24 lines checked
matttbe/KVM_Validation__normal success Success! ✅
matttbe/KVM_Validation__debug success Success! ✅

Commit Message

Florian Westphal Feb. 10, 2022, 2:55 p.m. UTC
Thre returned structure is read-only.

Signed-off-by: Florian Westphal <fw@strlen.de>
---
 Could be squashed with 'mptcp: mark ops structures as ro_after_init'.

 net/mptcp/subflow.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Mat Martineau Feb. 10, 2022, 8:42 p.m. UTC | #1
On Thu, 10 Feb 2022, Florian Westphal wrote:

> Thre returned structure is read-only.
>
> Signed-off-by: Florian Westphal <fw@strlen.de>
> ---
> Could be squashed with 'mptcp: mark ops structures as ro_after_init'.
>

Yeah, I agree that it would be good to squash with the other 
ro_after_init changes. Patch looks fine.

-Mat

> net/mptcp/subflow.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c
> index 5bd49a350750..e727d838da0e 100644
> --- a/net/mptcp/subflow.c
> +++ b/net/mptcp/subflow.c
> @@ -787,7 +787,7 @@ static struct sock *subflow_syn_recv_sock(const struct sock *sk,
> 	return child;
> }
>
> -static struct inet_connection_sock_af_ops subflow_specific;
> +static struct inet_connection_sock_af_ops subflow_specific __ro_after_init;
> static struct proto tcp_prot_override;
>
> enum mapping_status {
> @@ -1313,7 +1313,7 @@ static void subflow_write_space(struct sock *ssk)
> 	mptcp_write_space(sk);
> }
>
> -static struct inet_connection_sock_af_ops *
> +static const struct inet_connection_sock_af_ops *
> subflow_default_af_ops(struct sock *sk)
> {
> #if IS_ENABLED(CONFIG_MPTCP_IPV6)
> @@ -1328,7 +1328,7 @@ void mptcpv6_handle_mapped(struct sock *sk, bool mapped)
> {
> 	struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(sk);
> 	struct inet_connection_sock *icsk = inet_csk(sk);
> -	struct inet_connection_sock_af_ops *target;
> +	const struct inet_connection_sock_af_ops *target;
>
> 	target = mapped ? &subflow_v6m_specific : subflow_default_af_ops(sk);
>
> -- 
> 2.34.1
>
>
>

--
Mat Martineau
Intel
Matthieu Baerts Feb. 11, 2022, 11:03 a.m. UTC | #2
Hi Florian, Mat,

On 10/02/2022 15:55, Florian Westphal wrote:
> Thre returned structure is read-only.

Thank you for this patch and the review!

Now in our tree (squashed):

- a2b3e7491b59: "squashed" in "mptcp: mark ops structures as ro_after_init"
- Results: 7f0a980be1a6..178780fe8241

Builds and tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20220211T110237
https://github.com/multipath-tcp/mptcp_net-next/actions/workflows/build-validation.yml?query=branch:export

Cheers,
Matt
diff mbox series

Patch

diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c
index 5bd49a350750..e727d838da0e 100644
--- a/net/mptcp/subflow.c
+++ b/net/mptcp/subflow.c
@@ -787,7 +787,7 @@  static struct sock *subflow_syn_recv_sock(const struct sock *sk,
 	return child;
 }
 
-static struct inet_connection_sock_af_ops subflow_specific;
+static struct inet_connection_sock_af_ops subflow_specific __ro_after_init;
 static struct proto tcp_prot_override;
 
 enum mapping_status {
@@ -1313,7 +1313,7 @@  static void subflow_write_space(struct sock *ssk)
 	mptcp_write_space(sk);
 }
 
-static struct inet_connection_sock_af_ops *
+static const struct inet_connection_sock_af_ops *
 subflow_default_af_ops(struct sock *sk)
 {
 #if IS_ENABLED(CONFIG_MPTCP_IPV6)
@@ -1328,7 +1328,7 @@  void mptcpv6_handle_mapped(struct sock *sk, bool mapped)
 {
 	struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(sk);
 	struct inet_connection_sock *icsk = inet_csk(sk);
-	struct inet_connection_sock_af_ops *target;
+	const struct inet_connection_sock_af_ops *target;
 
 	target = mapped ? &subflow_v6m_specific : subflow_default_af_ops(sk);