render / rpms / libvirt

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