From 16151a687e7e346d3991fc411f8f8dc3b9347caa 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 (cherry picked from commit f66d96b14aab5051fdf6b5054d87362c17a7b365) (cherry picked from commit bafafe0ec46160573bef46d3d0f5d6c65fadaa3b) --- include/trace/hooks/sched.h | 4 ++++ kernel/fork.c | 1 + kernel/sched/vendor_hooks.c | 1 + 3 files changed, 6 insertions(+) diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index 148f0f0f0916..7bc20b3de351 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -313,6 +313,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_find_new_ilb, TP_PROTO(struct cpumask *nohz_idle_cpus_mask, int *new_ilb), TP_ARGS(nohz_idle_cpus_mask, new_ilb), 1); +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 786eb6f8cf47..56f2bf2a7e6b 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1211,6 +1211,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) android_init_vendor_data(tsk, 1); android_init_oem_data(tsk, 1); + trace_android_vh_dup_task_struct(tsk, orig); return tsk; free_stack: diff --git a/kernel/sched/vendor_hooks.c b/kernel/sched/vendor_hooks.c index 91c771c065d8..d5823a59b787 100644 --- a/kernel/sched/vendor_hooks.c +++ b/kernel/sched/vendor_hooks.c @@ -82,3 +82,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_update_thermal_stats); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_do_wake_up_sync); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_wake_flags); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_new_ilb); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dup_task_struct);