From bf8bbc3ff811eb956884dd3509390b647594c37f Mon Sep 17 00:00:00 2001 From: xieliujie Date: Fri, 1 Jul 2022 18:42:13 +0800 Subject: [PATCH] ANDROID: vendor_hooks: Add hooks for signal Add hook to boost thread when process killed. Bug: 237749933 Signed-off-by: xieliujie Change-Id: I7cc6f248397021f3a8271433144a0e582ed27cfa (cherry picked from commit 709679142d583b0b7338d931fdd43b27b1bbf9e0) (cherry picked from commit 226f36edddc3ad523dbb901ca3d5683f5f4e1707) --- drivers/android/vendor_hooks.c | 1 + include/trace/hooks/signal.h | 3 +++ kernel/signal.c | 1 + 3 files changed, 5 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 1b9fdf8badd4..c46ea7001bd2 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -241,3 +241,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmap_region); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_unmap_one); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_psi_event); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_psi_group); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exit_signal); diff --git a/include/trace/hooks/signal.h b/include/trace/hooks/signal.h index c1051ee5d3ac..4e61006cb145 100644 --- a/include/trace/hooks/signal.h +++ b/include/trace/hooks/signal.h @@ -11,6 +11,9 @@ struct task_struct; DECLARE_HOOK(android_vh_do_send_sig_info, TP_PROTO(int sig, struct task_struct *killer, struct task_struct *dst), TP_ARGS(sig, killer, dst)); +DECLARE_HOOK(android_vh_exit_signal, + TP_PROTO(struct task_struct *task), + TP_ARGS(task)); #endif /* _TRACE_HOOK_SIGNAL_H */ /* This part must be outside protection */ #include diff --git a/kernel/signal.c b/kernel/signal.c index 2df1129e4938..95d48c43fd9e 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -1057,6 +1057,7 @@ static void complete_signal(int sig, struct task_struct *p, enum pid_type type) signal->group_stop_count = 0; t = p; do { + trace_android_vh_exit_signal(t); task_clear_jobctl_pending(t, JOBCTL_PENDING_MASK); sigaddset(&t->pending.signal, SIGKILL); signal_wake_up(t, 1);