From 09d6ae58bf7fb9d85d823d7aa3d6bd4654b5cd09 Mon Sep 17 00:00:00 2001 From: Matthieu Baerts Date: Wed, 5 Apr 2023 15:29:28 +0200 Subject: [PATCH] Revert "DO-NOT-MERGE: mptcp: use kmalloc on kasan build (net)" This reverts commit 1859939e5214ab246c8a58345421280ba74aaade. This piece of code was causing issues, see: https://github.com/multipath-tcp/mptcp_net-next/issues/371#issuecomment-1496226126 It sounds safer to revert it then. Suggested-by: Paolo Abeni Signed-off-by: Matthieu Baerts --- net/ipv4/af_inet.c | 3 --- net/ipv6/af_inet6.c | 3 --- net/mptcp/protocol.c | 16 ++-------------- 3 files changed, 2 insertions(+), 20 deletions(-) diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index 533a3f8183f41..8db6747f892f8 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c @@ -312,10 +312,7 @@ static int inet_create(struct net *net, struct socket *sock, int protocol, answer_flags = answer->flags; rcu_read_unlock(); -#if !IS_ENABLED(CONFIG_KASAN) - /* with kasan we use kmalloc */ WARN_ON(!answer_prot->slab); -#endif err = -ENOMEM; sk = sk_alloc(net, PF_INET, GFP_KERNEL, answer_prot, kern); diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c index 2eab7ce8196b5..38689bedfce75 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c @@ -186,10 +186,7 @@ static int inet6_create(struct net *net, struct socket *sock, int protocol, answer_flags = answer->flags; rcu_read_unlock(); -#if !IS_ENABLED(CONFIG_KASAN) - /* with kasan we use kmalloc */ WARN_ON(!answer_prot->slab); -#endif err = -ENOBUFS; sk = sk_alloc(net, PF_INET6, GFP_KERNEL, answer_prot, kern); diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 11adce832332b..29bd766fbdab4 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2692,10 +2692,6 @@ static int __mptcp_init_sock(struct sock *sk) timer_setup(&msk->sk.icsk_retransmit_timer, mptcp_retransmit_timer, 0); timer_setup(&sk->sk_timer, mptcp_timeout_timer, 0); -#if IS_ENABLED(CONFIG_KASAN) - sock_set_flag(sk, SOCK_RCU_FREE); -#endif - return 0; } @@ -3113,9 +3109,7 @@ struct sock *mptcp_sk_clone(const struct sock *sk, msk->wnd_end = msk->snd_nxt + req->rsk_rcv_wnd; msk->setsockopt_seq = mptcp_sk(sk)->setsockopt_seq; -#if !IS_ENABLED(CONFIG_KASAN) sock_reset_flag(nsk, SOCK_RCU_FREE); -#endif /* will be fully established after successful MPC subflow creation */ inet_sk_state_store(nsk, TCP_SYN_RECV); @@ -3880,12 +3874,6 @@ static int mptcp_napi_poll(struct napi_struct *napi, int budget) return work_done; } -#if IS_ENABLED(CONFIG_KASAN) -#define MPTCP_USE_SLAB 0 -#else -#define MPTCP_USE_SLAB 1 -#endif - void __init mptcp_proto_init(void) { struct mptcp_delegated_action *delegated; @@ -3909,7 +3897,7 @@ void __init mptcp_proto_init(void) mptcp_pm_init(); mptcp_token_init(); - if (proto_register(&mptcp_prot, MPTCP_USE_SLAB) != 0) + if (proto_register(&mptcp_prot, 1) != 0) panic("Failed to register MPTCP proto.\n"); inet_register_protosw(&mptcp_protosw); @@ -3962,7 +3950,7 @@ int __init mptcp_proto_v6_init(void) mptcp_v6_prot.slab = NULL; mptcp_v6_prot.obj_size = sizeof(struct mptcp6_sock); - err = proto_register(&mptcp_v6_prot, MPTCP_USE_SLAB); + err = proto_register(&mptcp_v6_prot, 1); if (err) return err;