Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cae942d7 authored by Florian Mayer's avatar Florian Mayer
Browse files

Do not check for debuggable / profilable for app tracing.

This is undocumented and surprising behaviour.

Bug: 179883548
Change-Id: I373b176d4ed9f6b0e970d055d7e4e2686c6d3991
parent cb9e1dec
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -103,14 +103,6 @@ void atrace_setup();
 */
void atrace_update_tags();

/**
 * Set whether the process is debuggable.  By default the process is not
 * considered debuggable.  If the process is not debuggable then application-
 * level tracing is not allowed unless the ro.debuggable system property is
 * set to '1'.
 */
void atrace_set_debuggable(bool debuggable);

/**
 * Set whether tracing is enabled for the current process.  This is used to
 * prevent tracing within the Zygote process.
+11 −24
Original line number Diff line number Diff line
@@ -51,7 +51,6 @@ constexpr uint32_t kSeqNoNotInit = static_cast<uint32_t>(-1);
atomic_bool              atrace_is_ready      = ATOMIC_VAR_INIT(false);
int                      atrace_marker_fd     = -1;
uint64_t                 atrace_enabled_tags  = ATRACE_TAG_NOT_READY;
static bool              atrace_is_debuggable = false;
static atomic_bool       atrace_is_enabled    = ATOMIC_VAR_INIT(true);
static pthread_mutex_t   atrace_tags_mutex    = PTHREAD_MUTEX_INITIALIZER;

@@ -95,15 +94,6 @@ uint64_t atrace_get_enabled_tags()
    return atrace_enabled_tags;
}

// Set whether this process is debuggable, which determines whether
// application-level tracing is allowed when the ro.debuggable system property
// is not set to '1'.
void atrace_set_debuggable(bool debuggable)
{
    atrace_is_debuggable = debuggable;
    atrace_update_tags();
}

// Check whether the given command line matches one of the comma-separated
// values listed in the app_cmdlines property.
static bool atrace_is_cmdline_match(const char* cmdline)
@@ -127,10 +117,8 @@ static bool atrace_is_cmdline_match(const char* cmdline)
// Determine whether application-level tracing is enabled for this process.
static bool atrace_is_app_tracing_enabled()
{
    bool sys_debuggable = property_get_bool("ro.debuggable", 0);
    bool result = false;

    if (sys_debuggable || atrace_is_debuggable) {
    // Check whether tracing is enabled for this process.
    FILE * file = fopen("/proc/self/cmdline", "re");
    if (file) {
@@ -145,7 +133,6 @@ static bool atrace_is_app_tracing_enabled()
        ALOGE("Error opening /proc/self/cmdline: %s (%d)", strerror(errno),
                errno);
    }
    }

    return result;
}