diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp index 070a2d96cd404..5c65241e563ed 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp @@ -247,6 +247,11 @@ static void EnableKeepCapabilities(JNIEnv* env) { static void DropCapabilitiesBoundingSet(JNIEnv* env) { for (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) { + // Keep CAP_SYS_PTRACE in our bounding set so crash_dump can gain it. + if (i == CAP_SYS_PTRACE) { + continue; + } + int rc = prctl(PR_CAPBSET_DROP, i, 0, 0, 0); if (rc == -1) { if (errno == EINVAL) {