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

Commit aee26df2 authored by Elliott Hughes's avatar Elliott Hughes Committed by android-build-merger
Browse files

Merge "Revert "Send property_service AVC messages to the kernel audit system""

am: eea60804

Change-Id: I030cd689a554f6af953a95fc903ffad31280486a
parents 43473d3a eea60804
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -74,7 +74,7 @@ LOCAL_SRC_FILES:= \
    service.cpp \
    service.cpp \
    util.cpp \
    util.cpp \


LOCAL_STATIC_LIBRARIES := libbase libselinux liblog libprocessgroup libnl
LOCAL_STATIC_LIBRARIES := libbase libselinux liblog libprocessgroup
LOCAL_WHOLE_STATIC_LIBRARIES := libcap
LOCAL_WHOLE_STATIC_LIBRARIES := libcap
LOCAL_MODULE := libinit
LOCAL_MODULE := libinit
LOCAL_SANITIZE := integer
LOCAL_SANITIZE := integer
@@ -124,7 +124,6 @@ LOCAL_STATIC_LIBRARIES := \
    libsparse \
    libsparse \
    libz \
    libz \
    libprocessgroup \
    libprocessgroup \
    libnl \
    libavb
    libavb


# Create symlinks.
# Create symlinks.
+2 −28
Original line number Original line Diff line number Diff line
@@ -21,7 +21,6 @@
#include <string.h>
#include <string.h>


#include <android-base/logging.h>
#include <android-base/logging.h>
#include <netlink/netlink.h>
#include <selinux/selinux.h>
#include <selinux/selinux.h>


void InitKernelLogging(char* argv[]) {
void InitKernelLogging(char* argv[]) {
@@ -41,24 +40,6 @@ void InitKernelLogging(char* argv[]) {
    android::base::InitLogging(argv, &android::base::KernelLogger);
    android::base::InitLogging(argv, &android::base::KernelLogger);
}
}


static void selinux_avc_log(char* buf, size_t buf_len) {
    size_t str_len = strnlen(buf, buf_len);

    // trim newline at end of string
    buf[str_len - 1] = '\0';

    struct nl_sock* sk = nl_socket_alloc();
    if (sk == NULL) {
        return;
    }
    nl_connect(sk, NETLINK_AUDIT);
    int result;
    do {
        result = nl_send_simple(sk, AUDIT_USER_AVC, 0, buf, str_len);
    } while (result == -NLE_INTR);
    nl_socket_free(sk);
}

int selinux_klog_callback(int type, const char *fmt, ...) {
int selinux_klog_callback(int type, const char *fmt, ...) {
    android::base::LogSeverity severity = android::base::ERROR;
    android::base::LogSeverity severity = android::base::ERROR;
    if (type == SELINUX_WARNING) {
    if (type == SELINUX_WARNING) {
@@ -69,15 +50,8 @@ int selinux_klog_callback(int type, const char *fmt, ...) {
    char buf[1024];
    char buf[1024];
    va_list ap;
    va_list ap;
    va_start(ap, fmt);
    va_start(ap, fmt);
    int res = vsnprintf(buf, sizeof(buf), fmt, ap);
    vsnprintf(buf, sizeof(buf), fmt, ap);
    va_end(ap);
    va_end(ap);
    if (res <= 0) {
        return 0;
    }
    if (type == SELINUX_AVC) {
        selinux_avc_log(buf, sizeof(buf));
    } else {
    android::base::KernelLogger(android::base::MAIN, severity, "selinux", nullptr, 0, buf);
    android::base::KernelLogger(android::base::MAIN, severity, "selinux", nullptr, 0, buf);
    }
    return 0;
    return 0;
}
}