diff --git a/Xext/xselinux_hooks.c b/Xext/xselinux_hooks.c index b9d47103a..6c1e6d162 100644 --- a/Xext/xselinux_hooks.c +++ b/Xext/xselinux_hooks.c @@ -301,25 +301,27 @@ SELinuxLog(int type, const char *fmt, ...) { va_list ap; char buf[MAX_AUDIT_MESSAGE_LENGTH]; - int rc, aut; + int aut; switch (type) { - case SELINUX_INFO: - aut = AUDIT_USER_MAC_POLICY_LOAD; + case SELINUX_ERROR: + aut = AUDIT_USER_SELINUX_ERR; break; case SELINUX_AVC: aut = AUDIT_USER_AVC; break; default: - aut = AUDIT_USER_SELINUX_ERR; + /* Do not generate an audit event, just log normally. */ + aut = -1; break; } va_start(ap, fmt); vsnprintf(buf, MAX_AUDIT_MESSAGE_LENGTH, fmt, ap); - rc = audit_log_user_avc_message(audit_fd, aut, buf, NULL, NULL, NULL, 0); - (void) rc; va_end(ap); + + if (aut != -1) + (void) audit_log_user_avc_message(audit_fd, aut, buf, NULL, NULL, NULL, 0); LogMessageVerb(X_WARNING, 0, "%s", buf); return 0; }