am 223e0798: Merge "Enable building init with -Wall -Werror."
* commit '223e07983718e1515f2a54542b9b0163a8f508ed': Enable building init with -Wall -Werror.
This commit is contained in:
commit
066cde92d2
3 changed files with 46 additions and 11 deletions
|
|
@ -18,6 +18,7 @@
|
||||||
#define _CUTILS_KLOG_H_
|
#define _CUTILS_KLOG_H_
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
__BEGIN_DECLS
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
|
@ -26,14 +27,21 @@ void klog_set_level(int level);
|
||||||
void klog_close(void);
|
void klog_close(void);
|
||||||
void klog_write(int level, const char *fmt, ...)
|
void klog_write(int level, const char *fmt, ...)
|
||||||
__attribute__ ((format(printf, 2, 3)));
|
__attribute__ ((format(printf, 2, 3)));
|
||||||
|
void klog_vwrite(int level, const char *fmt, va_list ap);
|
||||||
|
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
#define KLOG_ERROR(tag,x...) klog_write(3, "<3>" tag ": " x)
|
#define KLOG_ERROR_LEVEL 3
|
||||||
#define KLOG_WARNING(tag,x...) klog_write(4, "<4>" tag ": " x)
|
#define KLOG_WARNING_LEVEL 4
|
||||||
#define KLOG_NOTICE(tag,x...) klog_write(5, "<5>" tag ": " x)
|
#define KLOG_NOTICE_LEVEL 5
|
||||||
#define KLOG_INFO(tag,x...) klog_write(6, "<6>" tag ": " x)
|
#define KLOG_INFO_LEVEL 6
|
||||||
#define KLOG_DEBUG(tag,x...) klog_write(7, "<7>" tag ": " x)
|
#define KLOG_DEBUG_LEVEL 7
|
||||||
|
|
||||||
|
#define KLOG_ERROR(tag,x...) klog_write(KLOG_ERROR_LEVEL, "<3>" tag ": " x)
|
||||||
|
#define KLOG_WARNING(tag,x...) klog_write(KLOG_WARNING_LEVEL, "<4>" tag ": " x)
|
||||||
|
#define KLOG_NOTICE(tag,x...) klog_write(KLOG_NOTICE_LEVEL, "<5>" tag ": " x)
|
||||||
|
#define KLOG_INFO(tag,x...) klog_write(KLOG_INFO_LEVEL, "<6>" tag ": " x)
|
||||||
|
#define KLOG_DEBUG(tag,x...) klog_write(KLOG_DEBUG_LEVEL, "<7>" tag ": " x)
|
||||||
|
|
||||||
#define KLOG_DEFAULT_LEVEL 3 /* messages <= this level are logged */
|
#define KLOG_DEFAULT_LEVEL 3 /* messages <= this level are logged */
|
||||||
|
|
||||||
|
|
|
||||||
25
init/init.c
25
init/init.c
|
|
@ -933,12 +933,33 @@ int selinux_reload_policy(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int audit_callback(void *data, security_class_t cls, char *buf, size_t len)
|
static int audit_callback(void *data, security_class_t cls __attribute__((unused)), char *buf, size_t len)
|
||||||
{
|
{
|
||||||
snprintf(buf, len, "property=%s", !data ? "NULL" : (char *)data);
|
snprintf(buf, len, "property=%s", !data ? "NULL" : (char *)data);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int log_callback(int type, const char *fmt, ...)
|
||||||
|
{
|
||||||
|
int level;
|
||||||
|
va_list ap;
|
||||||
|
switch (type) {
|
||||||
|
case SELINUX_WARNING:
|
||||||
|
level = KLOG_WARNING_LEVEL;
|
||||||
|
break;
|
||||||
|
case SELINUX_INFO:
|
||||||
|
level = KLOG_INFO_LEVEL;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
level = KLOG_ERROR_LEVEL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
va_start(ap, fmt);
|
||||||
|
klog_vwrite(level, fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static void selinux_initialize(void)
|
static void selinux_initialize(void)
|
||||||
{
|
{
|
||||||
if (selinux_is_disabled()) {
|
if (selinux_is_disabled()) {
|
||||||
|
|
@ -1012,7 +1033,7 @@ int main(int argc, char **argv)
|
||||||
process_kernel_cmdline();
|
process_kernel_cmdline();
|
||||||
|
|
||||||
union selinux_callback cb;
|
union selinux_callback cb;
|
||||||
cb.func_log = klog_write;
|
cb.func_log = log_callback;
|
||||||
selinux_set_callback(SELINUX_CB_LOG, cb);
|
selinux_set_callback(SELINUX_CB_LOG, cb);
|
||||||
|
|
||||||
cb.func_audit = audit_callback;
|
cb.func_audit = audit_callback;
|
||||||
|
|
|
||||||
|
|
@ -49,18 +49,24 @@ void klog_init(void)
|
||||||
|
|
||||||
#define LOG_BUF_MAX 512
|
#define LOG_BUF_MAX 512
|
||||||
|
|
||||||
void klog_write(int level, const char *fmt, ...)
|
void klog_vwrite(int level, const char *fmt, va_list ap)
|
||||||
{
|
{
|
||||||
char buf[LOG_BUF_MAX];
|
char buf[LOG_BUF_MAX];
|
||||||
va_list ap;
|
|
||||||
|
|
||||||
if (level > klog_level) return;
|
if (level > klog_level) return;
|
||||||
if (klog_fd < 0) klog_init();
|
if (klog_fd < 0) klog_init();
|
||||||
if (klog_fd < 0) return;
|
if (klog_fd < 0) return;
|
||||||
|
|
||||||
va_start(ap, fmt);
|
|
||||||
vsnprintf(buf, LOG_BUF_MAX, fmt, ap);
|
vsnprintf(buf, LOG_BUF_MAX, fmt, ap);
|
||||||
buf[LOG_BUF_MAX - 1] = 0;
|
buf[LOG_BUF_MAX - 1] = 0;
|
||||||
va_end(ap);
|
|
||||||
write(klog_fd, buf, strlen(buf));
|
write(klog_fd, buf, strlen(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void klog_write(int level, const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
va_start(ap, fmt);
|
||||||
|
klog_vwrite(level, fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue