From 4eb201e40ced5961cf358df0de038da08b7dbaef Mon Sep 17 00:00:00 2001 From: Josh Gao Date: Thu, 18 Mar 2021 17:12:18 -0700 Subject: Switch to bionic's pidfd_open. Bionic's syscall wrappers contain instrumentation so that libraries like fdtrack can hook them at runtime when diagnosing fd leaks. Bug: http://b/172518739 Test: treehugger Change-Id: I9b2e07f6be9463a37cd4e51d914d93ffc89907fc --- core/jni/android_util_Process.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'core') diff --git a/core/jni/android_util_Process.cpp b/core/jni/android_util_Process.cpp index 04faebc7beff..63743051bc40 100644 --- a/core/jni/android_util_Process.cpp +++ b/core/jni/android_util_Process.cpp @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include @@ -1290,14 +1291,8 @@ void android_os_Process_removeAllProcessGroups(JNIEnv* env, jobject clazz) return removeAllProcessGroups(); } -// Wrapper function to the syscall pidfd_open, which creates a file -// descriptor that refers to the process whose PID is specified in pid. -static inline int sys_pidfd_open(pid_t pid, unsigned int flags) { - return syscall(__NR_pidfd_open, pid, flags); -} - static jint android_os_Process_nativePidFdOpen(JNIEnv* env, jobject, jint pid, jint flags) { - int fd = sys_pidfd_open(pid, flags); + int fd = pidfd_open(pid, flags); if (fd < 0) { jniThrowErrnoException(env, "nativePidFdOpen", errno); return -1; -- cgit v1.2.3