From nobody Thu May 15 21:20:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1506498943791236.15072261845023; Wed, 27 Sep 2017 00:55:43 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 874E6356CC; Wed, 27 Sep 2017 07:55:42 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 21DCF83C04; Wed, 27 Sep 2017 07:55:42 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 971CF1855940; Wed, 27 Sep 2017 07:55:40 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v8R7XOpj010196 for ; Wed, 27 Sep 2017 03:33:24 -0400 Received: by smtp.corp.redhat.com (Postfix) id 58F547766F; Wed, 27 Sep 2017 07:33:24 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id D4AB577674 for ; Wed, 27 Sep 2017 07:33:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 874E6356CC Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=libvir-list-bounces@redhat.com From: Michal Privoznik To: libvir-list@redhat.com Date: Wed, 27 Sep 2017 09:33:15 +0200 Message-Id: In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 1/3] audit: Audit information about watchdog devices X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Wed, 27 Sep 2017 07:55:43 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Michal Privoznik --- src/conf/domain_audit.c | 46 ++++++++++++++++++++++++++++++++++++++++++++= ++ src/conf/domain_audit.h | 5 +++++ src/libvirt_private.syms | 1 + 3 files changed, 52 insertions(+) diff --git a/src/conf/domain_audit.c b/src/conf/domain_audit.c index 4afc22019..026fafe0c 100644 --- a/src/conf/domain_audit.c +++ b/src/conf/domain_audit.c @@ -865,6 +865,9 @@ virDomainAuditStart(virDomainObjPtr vm, const char *rea= son, bool success) if (vm->def->tpm) virDomainAuditTPM(vm, vm->def->tpm, "start", true); =20 + if (vm->def->watchdog) + virDomainAuditWatchdog(vm, vm->def->watchdog, "start", true); + for (i =3D 0; i < vm->def->nshmems; i++) virDomainAuditShmem(vm, vm->def->shmems[i], "start", true); =20 @@ -983,3 +986,46 @@ virDomainAuditShmem(virDomainObjPtr vm, VIR_FREE(shmpath); return; } + + +void +virDomainAuditWatchdog(virDomainObjPtr vm, + virDomainWatchdogDefPtr def, + const char *reason, bool success) +{ + char uuidstr[VIR_UUID_STRING_BUFLEN]; + char *vmname; + char *alias =3D NULL; + char *device =3D NULL; + const char *virt; + + virUUIDFormat(vm->def->uuid, uuidstr); + if (!(vmname =3D virAuditEncode("vm", vm->def->name))) { + VIR_WARN("OOM while encoding audit message"); + return; + } + + if (!(virt =3D virDomainVirtTypeToString(vm->def->virtType))) { + VIR_WARN("Unexpected virt type %d while encoding audit message", v= m->def->virtType); + virt =3D "?"; + } + + if (VIR_STRDUP_QUIET(alias, def->info.alias) < 0) { + VIR_WARN("OOM while encoding audit message"); + goto cleanup; + } + + if (!(device =3D virAuditEncode("device", VIR_AUDIT_STR(alias)))) { + VIR_WARN("OOM while encoding audit message"); + goto cleanup; + } + + VIR_AUDIT(VIR_AUDIT_RECORD_RESOURCE, success, + "virt=3D%s resrc=3Ddev reason=3D%s %s uuid=3D%s %s", + virt, reason, vmname, uuidstr, device); + + cleanup: + VIR_FREE(vmname); + VIR_FREE(device); + VIR_FREE(alias); +} diff --git a/src/conf/domain_audit.h b/src/conf/domain_audit.h index 8cb585dc7..3a0e0bd39 100644 --- a/src/conf/domain_audit.h +++ b/src/conf/domain_audit.h @@ -134,5 +134,10 @@ void virDomainAuditShmem(virDomainObjPtr vm, const char *reason, bool success) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); =20 +void virDomainAuditWatchdog(virDomainObjPtr vm, + virDomainWatchdogDefPtr def, + const char *reason, bool success) + ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); + =20 #endif /* __VIR_DOMAIN_AUDIT_H__ */ diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 5b1bc5e4f..68ff1f2c3 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -167,6 +167,7 @@ virDomainAuditShmem; virDomainAuditStart; virDomainAuditStop; virDomainAuditVcpu; +virDomainAuditWatchdog; =20 =20 # conf/domain_capabilities.h --=20 2.13.5 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list