diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 8dfd45a3643f..fdd02b764d5f 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -422,3 +422,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_pages_reclaim_bypass); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_pages_failure_bypass); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_save_vmalloc_stack); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_stack_hash); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exit_check); diff --git a/include/trace/hooks/dtask.h b/include/trace/hooks/dtask.h index 0ada24dc250a..0aae26ffd5a6 100644 --- a/include/trace/hooks/dtask.h +++ b/include/trace/hooks/dtask.h @@ -130,6 +130,11 @@ DECLARE_HOOK(android_vh_record_rwsem_lock_starttime, DECLARE_HOOK(android_vh_record_pcpu_rwsem_starttime, TP_PROTO(struct percpu_rw_semaphore *sem, unsigned long settime_jiffies), TP_ARGS(sem, settime_jiffies)); + +DECLARE_HOOK(android_vh_exit_check, + TP_PROTO(struct task_struct *p), + TP_ARGS(p)); #endif /* _TRACE_HOOK_DTASK_H */ + /* This part must be outside protection */ #include diff --git a/kernel/exit.c b/kernel/exit.c index 2762415ec538..8325eda1ef41 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -75,6 +75,7 @@ #include #include +#include #include #include "exit.h" @@ -897,6 +898,7 @@ void __noreturn do_exit(long code) io_uring_files_cancel(); exit_signals(tsk); /* sets PF_EXITING */ + trace_android_vh_exit_check(current); seccomp_filter_release(tsk);