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: Stephen Smalley <sds@tycho.nsa.gov>
This commit is contained in:
parent
7950fc47a7
commit
439224e275
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue