From f66d96b14aab5051fdf6b5054d87362c17a7b365 Mon Sep 17 00:00:00 2001 From: Liangliang Li Date: Thu, 13 May 2021 15:01:26 +0800 Subject: [PATCH] ANDROID: vendor_hooks: Add hooks to dup_task_struct Add hook to dup_task_struct for vendor data fields initialisation. Bug: 188004638 Change-Id: I4b58604ee822fb8d1e0cc37bec72e820e7318427 Signed-off-by: Liangliang Li --- drivers/android/vendor_hooks.c | 1 + include/trace/hooks/sched.h | 4 ++++ kernel/fork.c | 1 + 3 files changed, 6 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 13c8726d9d6f..92064e1ce4a3 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -262,6 +262,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpuset_fork); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_set_cpus_allowed_comm); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sched_setaffinity_early); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_task); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dup_task_struct); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_after_enqueue_task); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_after_dequeue_task); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_enqueue_entity); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index c851e7ae3af9..bd044ce0d19c 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -358,6 +358,10 @@ DECLARE_HOOK(android_vh_finish_update_load_avg_se, TP_PROTO(struct sched_entity *se, int flags), TP_ARGS(se, flags)); +DECLARE_HOOK(android_vh_dup_task_struct, + TP_PROTO(struct task_struct *tsk, struct task_struct *orig), + TP_ARGS(tsk, orig)); + /* macro versions of hooks are no longer required */ #endif /* _TRACE_HOOK_SCHED_H */ diff --git a/kernel/fork.c b/kernel/fork.c index f2cdce8af2fd..0d7d98bc37fb 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -975,6 +975,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) #ifdef CONFIG_MEMCG tsk->active_memcg = NULL; #endif + trace_android_vh_dup_task_struct(tsk, orig); return tsk; free_stack: