Restrict pmsg use to eng builds.
am: f894b96a92
Change-Id: I414153b11d641cd7ac5f9660e8f097d49808e3e6
This commit is contained in:
commit
9e347f642d
1 changed files with 21 additions and 2 deletions
|
|
@ -31,6 +31,8 @@
|
||||||
#include <private/android_filesystem_config.h>
|
#include <private/android_filesystem_config.h>
|
||||||
#include <private/android_logger.h>
|
#include <private/android_logger.h>
|
||||||
|
|
||||||
|
#include <sys/system_properties.h>
|
||||||
|
|
||||||
#include "config_write.h"
|
#include "config_write.h"
|
||||||
#include "log_portability.h"
|
#include "log_portability.h"
|
||||||
#include "logger.h"
|
#include "logger.h"
|
||||||
|
|
@ -51,8 +53,25 @@ LIBLOG_HIDDEN struct android_log_transport_write pmsgLoggerWrite = {
|
||||||
.write = pmsgWrite,
|
.write = pmsgWrite,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static bool pmsgShouldUse = false;
|
||||||
|
|
||||||
|
// Only use pmsg on eng builds
|
||||||
|
static bool pmsgIsEng() {
|
||||||
|
char buf[PROP_VALUE_MAX];
|
||||||
|
|
||||||
|
if (__system_property_get("ro.build.type", buf) == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strncmp(buf, "eng", sizeof("eng"))) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
static int pmsgOpen()
|
static int pmsgOpen()
|
||||||
{
|
{
|
||||||
|
pmsgShouldUse = pmsgIsEng();
|
||||||
if (pmsgLoggerWrite.context.fd < 0) {
|
if (pmsgLoggerWrite.context.fd < 0) {
|
||||||
pmsgLoggerWrite.context.fd = TEMP_FAILURE_RETRY(open("/dev/pmsg0", O_WRONLY | O_CLOEXEC));
|
pmsgLoggerWrite.context.fd = TEMP_FAILURE_RETRY(open("/dev/pmsg0", O_WRONLY | O_CLOEXEC));
|
||||||
}
|
}
|
||||||
|
|
@ -75,7 +94,7 @@ static int pmsgAvailable(log_id_t logId)
|
||||||
}
|
}
|
||||||
if ((logId != LOG_ID_SECURITY) &&
|
if ((logId != LOG_ID_SECURITY) &&
|
||||||
(logId != LOG_ID_EVENTS) &&
|
(logId != LOG_ID_EVENTS) &&
|
||||||
!__android_log_is_debuggable()) {
|
(!pmsgShouldUse || !__android_log_is_debuggable())) {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
if (pmsgLoggerWrite.context.fd < 0) {
|
if (pmsgLoggerWrite.context.fd < 0) {
|
||||||
|
|
@ -105,7 +124,7 @@ static int pmsgWrite(log_id_t logId, struct timespec *ts,
|
||||||
size_t i, payloadSize;
|
size_t i, payloadSize;
|
||||||
ssize_t ret;
|
ssize_t ret;
|
||||||
|
|
||||||
if ((logId == LOG_ID_EVENTS) && !__android_log_is_debuggable()) {
|
if ((logId == LOG_ID_EVENTS) && (!pmsgShouldUse || !__android_log_is_debuggable())) {
|
||||||
if (vec[0].iov_len < 4) {
|
if (vec[0].iov_len < 4) {
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue