diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 6d510e36c9e5..5268bb118d4c 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -246,6 +246,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sk_alloc); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sk_free); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_enable_thermal_genl_check); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_pages_entry); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sk_clone_lock); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_unref_folios_to_pcp_bypass); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cma_alloc_fail); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_vmalloc_node_bypass); diff --git a/include/trace/hooks/net.h b/include/trace/hooks/net.h index ba6940d64a48..3913b9b3db88 100644 --- a/include/trace/hooks/net.h +++ b/include/trace/hooks/net.h @@ -29,6 +29,8 @@ DECLARE_HOOK(android_vh_tcp_write_timeout_estab_retrans, TP_PROTO(struct sock *sk), TP_ARGS(sk)); DECLARE_HOOK(android_vh_tcp_connect, TP_PROTO(struct sk_buff *skb), TP_ARGS(skb)); +DECLARE_HOOK(android_vh_sk_clone_lock, + TP_PROTO(struct sock *nsk), TP_ARGS(nsk)); struct request_sock; DECLARE_HOOK(android_vh_inet_csk_clone_lock, TP_PROTO(struct sock *newsk, const struct request_sock *req), TP_ARGS(newsk, req)); diff --git a/net/core/sock.c b/net/core/sock.c index afde78b20956..3ea553156000 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -2388,6 +2388,7 @@ struct sock *sk_clone_lock(const struct sock *sk, const gfp_t priority) goto out; sock_copy(newsk, sk); + trace_android_vh_sk_clone_lock(newsk); newsk->sk_prot_creator = prot;