diff --git a/libcutils/klog.cpp b/libcutils/klog.cpp index 061af1bf4..9d823cfae 100644 --- a/libcutils/klog.cpp +++ b/libcutils/klog.cpp @@ -24,6 +24,7 @@ #include #include +#include #include static int klog_level = KLOG_DEFAULT_LEVEL; @@ -37,7 +38,11 @@ void klog_set_level(int level) { } static int __open_klog(void) { - return TEMP_FAILURE_RETRY(open("/dev/kmsg", O_WRONLY | O_CLOEXEC)); + static const char kmsg_device[] = "/dev/kmsg"; + + int ret = android_get_control_file(kmsg_device); + if (ret >= 0) return ret; + return TEMP_FAILURE_RETRY(open(kmsg_device, O_WRONLY | O_CLOEXEC)); } #define LOG_BUF_MAX 512