net: make sock_inuse_add() available

MPTCP hard codes it, let us instead provide this helper.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Eric Dumazet 2021-11-15 09:11:48 -08:00 committed by David S. Miller
parent 2a12ae5d43
commit d477eb9004
3 changed files with 11 additions and 13 deletions

View File

@ -1439,6 +1439,12 @@ static inline void sock_prot_inuse_add(const struct net *net,
{
__this_cpu_add(net->core.prot_inuse->val[prot->inuse_idx], val);
}
static inline void sock_inuse_add(const struct net *net, int val)
{
this_cpu_add(*net->core.sock_inuse, val);
}
int sock_prot_inuse_get(struct net *net, struct proto *proto);
int sock_inuse_get(struct net *net);
#else
@ -1446,6 +1452,10 @@ static inline void sock_prot_inuse_add(const struct net *net,
const struct proto *prot, int val)
{
}
static inline void sock_inuse_add(const struct net *net, int val)
{
}
#endif

View File

@ -144,8 +144,6 @@
static DEFINE_MUTEX(proto_list_mutex);
static LIST_HEAD(proto_list);
static void sock_inuse_add(struct net *net, int val);
/**
* sk_ns_capable - General socket capability test
* @sk: Socket to use a capability on or through
@ -3550,11 +3548,6 @@ int sock_prot_inuse_get(struct net *net, struct proto *prot)
}
EXPORT_SYMBOL_GPL(sock_prot_inuse_get);
static void sock_inuse_add(struct net *net, int val)
{
this_cpu_add(*net->core.sock_inuse, val);
}
int sock_inuse_get(struct net *net)
{
int cpu, res = 0;
@ -3633,9 +3626,6 @@ static inline void release_proto_idx(struct proto *prot)
{
}
static void sock_inuse_add(struct net *net, int val)
{
}
#endif
static void tw_prot_cleanup(struct timewait_sock_ops *twsk_prot)

View File

@ -1534,9 +1534,7 @@ int mptcp_subflow_create_socket(struct sock *sk, struct socket **new_sock)
*/
sf->sk->sk_net_refcnt = 1;
get_net(net);
#ifdef CONFIG_PROC_FS
this_cpu_add(*net->core.sock_inuse, 1);
#endif
sock_inuse_add(net, 1);
err = tcp_set_ulp(sf->sk, "mptcp");
release_sock(sf->sk);