From 4a84a59cb80ac519ba9385e683ddb067bb737ee2 Mon Sep 17 00:00:00 2001 From: xiaofeng Date: Tue, 12 Jul 2022 20:43:49 +0800 Subject: [PATCH] ANDROID: vendor_hooks:vendor hook for pidfd_open Add vendor hook when detecting process status through pidfd_open. Bug: 238725692 Change-Id: I565988cb8bf6dd44ab4dc15c410c2dcf50703def Signed-off-by: xiaofeng --- drivers/android/vendor_hooks.c | 1 + include/trace/hooks/sched.h | 4 ++++ kernel/pid.c | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index bb6d5eb7a31f..7f1fc3947472 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -409,3 +409,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_cpumask_any_and_distribute); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_resume_begin); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_resume_end); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_memcg_scan_type); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_pidfd_open); diff --git a/include/trace/hooks/sched.h b/include/trace/hooks/sched.h index cdb3bf7dda52..3bac9bd4c8a5 100644 --- a/include/trace/hooks/sched.h +++ b/include/trace/hooks/sched.h @@ -451,6 +451,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_update_rq_clock_pelt, TP_PROTO(struct rq *rq, s64 delta, bool *ret), TP_ARGS(rq, delta, ret), 1); +DECLARE_HOOK(android_vh_pidfd_open, + TP_PROTO(struct pid *p), + TP_ARGS(p)); + /* macro versions of hooks are no longer required */ #endif /* _TRACE_HOOK_SCHED_H */ diff --git a/kernel/pid.c b/kernel/pid.c index 48babb1dd3e1..468d04810b40 100644 --- a/kernel/pid.c +++ b/kernel/pid.c @@ -45,6 +45,9 @@ #include #include +#undef CREATE_TRACE_POINTS +#include + struct pid init_struct_pid = { .count = REFCOUNT_INIT(1), .tasks = { @@ -602,6 +605,7 @@ SYSCALL_DEFINE2(pidfd_open, pid_t, pid, unsigned int, flags) else fd = -EINVAL; + trace_android_vh_pidfd_open(p); put_pid(p); return fd; }