From c71f920357ffb17cd13aaf9a12e8d77d1b29b08c Mon Sep 17 00:00:00 2001 Message-Id: From: Martin Kletzander Date: Mon, 5 Jun 2017 17:02:03 +0200 Subject: [PATCH] audit: Fix the output message for shmem After some discussion on and off the linux-audit mailing list, we should use different fields for the audit messages. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1218603 Signed-off-by: Martin Kletzander (cherry picked from commit 6d12a1cb2fb0e0152a19518423dceafa7cf088fb) Signed-off-by: Martin Kletzander Signed-off-by: Jiri Denemark --- src/conf/domain_audit.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/conf/domain_audit.c b/src/conf/domain_audit.c index 2d9ff5e3ff..1e667af73c 100644 --- a/src/conf/domain_audit.c +++ b/src/conf/domain_audit.c @@ -983,15 +983,13 @@ virDomainAuditShmem(virDomainObjPtr vm, char uuidstr[VIR_UUID_STRING_BUFLEN]; char *vmname = virAuditEncode("vm", vm->def->name); const char *srcpath = virDomainAuditChardevPath(&def->server.chr); - char *src = virAuditEncode("server", VIR_AUDIT_STR(srcpath)); - char *shmem = virAuditEncode("shmem", VIR_AUDIT_STR(def->name)); const char *virt = virDomainVirtTypeToString(vm->def->virtType); - char *size = NULL; + char *shmpath = NULL; virUUIDFormat(vm->def->uuid, uuidstr); - if (!vmname || !src || !shmem || - virAsprintfQuiet(&size, "%llu", def->size) < 0) { + if (!vmname || + virAsprintfQuiet(&shmpath, "/dev/shm/%s", def->name) < 0) { VIR_WARN("OOM while encoding audit message"); goto cleanup; } @@ -1002,14 +1000,18 @@ virDomainAuditShmem(virDomainObjPtr vm, virt = "?"; } - VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, - "virt=%s resrc=shmem reason=%s %s uuid=%s size=%s %s %s", - virt, reason, vmname, uuidstr, size, shmem, src); + if (def->server.enabled) { + VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, + "virt=%s resrc=ivshmem-socket reason=%s %s uuid=%s path=%s", + virt, reason, vmname, uuidstr, VIR_AUDIT_STR(srcpath)); + } else { + VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, + "virt=%s resrc=shmem reason=%s %s uuid=%s size=%llu path=%s", + virt, reason, vmname, uuidstr, def->size, VIR_AUDIT_STR(shmpath)); + } cleanup: VIR_FREE(vmname); - VIR_FREE(src); - VIR_FREE(size); - VIR_FREE(shmem); + VIR_FREE(shmpath); return; } -- 2.13.1