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

Commit 439224e2 authored by Stephen Smalley's avatar Stephen Smalley
Browse files

Redirect libselinux logging to dmesg for ueventd.



We already do this for init, but had failed to do it for ueventd
and could not capture any logging from libselinux calls made by
ueventd.

Truly enabling non-error logging also requires uncommenting a line
in Android.mk:
LOCAL_CFLAGS += -DLOG_UEVENTS=1
which enables other logging and sets the default log level to INFO,
or otherwise changing the klog level in the ueventd code (is not
settable by init.rc loglevel).

Change-Id: I00e6f9d6271f2a21d9078c96368816d74d6d2850
Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
parent 7950fc47
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -938,7 +938,7 @@ static int audit_callback(void *data, security_class_t cls __attribute__((unused
    return 0;
}

static int log_callback(int type, const char *fmt, ...)
int log_callback(int type, const char *fmt, ...)
{
    int level;
    va_list ap;
+2 −0
Original line number Diff line number Diff line
@@ -23,4 +23,6 @@
#define NOTICE(x...)  KLOG_NOTICE("init", x)
#define INFO(x...)    KLOG_INFO("init", x)

extern int log_callback(int type, const char *fmt, ...);

#endif
+5 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
#include <stdio.h>
#include <ctype.h>
#include <signal.h>
#include <selinux/selinux.h>

#include <private/android_filesystem_config.h>

@@ -76,6 +77,10 @@ int ueventd_main(int argc, char **argv)
    }
#endif

    union selinux_callback cb;
    cb.func_log = log_callback;
    selinux_set_callback(SELINUX_CB_LOG, cb);

    INFO("starting ueventd\n");

    /* Respect hardware passed in through the kernel cmd line. Here we will look