From nobody Thu May 2 21:20:22 2024 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; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1569876344; cv=none; d=zoho.com; s=zohoarc; b=TSREGyB6ljvqNqplol5juHNNVG3UdZqpAm5ithl3ldWQOzwfl/S1PBWMjn+PXTucMbtuNJ56FCX1iy+02QPnk+38uj6E9nNfI2GjMRA3SZ5beo1RRxWUtDjGpugglh51+FDiie8rAw5vFq3rTPUB9AjSERHdwFnae4iXzVEyq6A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1569876344; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=pXVKf8la3JqziBWkgIyREGEaWE1yoC59PJxNfSbEYCI=; b=RoGriIUW7f5/Rh67RtHkcCpbPvdAV9vAhfxzD5vuY97gKnBxyhnszJqgZ5BdJDED7Yy3uchoFJBqtAOzzEqqB1x0fqUGe1XHzoLkZRzezZiEVVQG7fIU8DOZBN/QZnyjffV3w70qeZxBnyXpdFgIwJgV5ykybYsEjYGDJmVANZ4= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1569876344158235.13695833460827; Mon, 30 Sep 2019 13:45:44 -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 79BB71DC5; Mon, 30 Sep 2019 20:45:42 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5238960623; Mon, 30 Sep 2019 20:45: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 12B414E9F5; Mon, 30 Sep 2019 20:45:42 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x8UKjMa9007951 for ; Mon, 30 Sep 2019 16:45:22 -0400 Received: by smtp.corp.redhat.com (Postfix) id 962F76012A; Mon, 30 Sep 2019 20:45:22 +0000 (UTC) Received: from mx1.redhat.com (ext-mx20.extmail.prod.ext.phx2.redhat.com [10.5.110.49]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9000D6012C for ; Mon, 30 Sep 2019 20:45:20 +0000 (UTC) Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EEF5D3086272 for ; Mon, 30 Sep 2019 20:45:18 +0000 (UTC) Received: by mail-qt1-f171.google.com with SMTP id f7so18814793qtq.7 for ; Mon, 30 Sep 2019 13:45:18 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:2a15:38ab:f72b:e1c1:67e7]) by smtp.gmail.com with ESMTPSA id a3sm7571377qtn.97.2019.09.30.13.45.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Sep 2019 13:45:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bcsJY+EUjUyrxHlU1a96uYTbeZK0oj5ZAVfpnXepknw=; b=GuP7WuTjf5/4xvr3gDRwdQ+E1NQuG2R6nPsyBlE+HK5ldyIkZXmm6TRMs2Vof0awpL azxrkF4P316BRITSa+3QGftEbYv+Z1nuzqSuqtWOFOqaYs0PD3IfIl7vGO6fTDOYpZwS MaZr4cDFpNVU071cZoPyOvoCTiF+yRh8gUrTJ0tmy+VPtzRinNgVCrMDYD6vtHj0vRfS s0xYvbYC3RwySv00ahs2OTFgA3MPgQY8QP8kprhyd/Quf5n/gQRDJTh+HMCqWC17djDa 9rPUPiEKmb/zwwZZvTWW/bETRPHMYkgVZzPveryXx249DTmZ4oNa+e4VbErzMYvVl930 FvXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=bcsJY+EUjUyrxHlU1a96uYTbeZK0oj5ZAVfpnXepknw=; b=Hft9Uc+7vjJjsZ2CU8r8eRP4aegtDaoptw419SV2QrvseLTsQfS0LQ1zRi2+lqNdeY iTtDk2yzq1o+fgYGTgBZ/trSDPOr6jyU6AxGBdn/DuHeD+9ctgBsaLhNhxkPWfaFUEQV EcwXo1j0ITyta8dHKmm8MCqvBQScKF2EkVSCZFZtBPW2hKpGCKEQ12HwOO8b1oEMaJnc wLMkSfH0qpaDhq4L5puZVs6L38V9MlGL9ihIOETU8au3g7FO36Mgd1ueT1z4mvf6SRat Oi5v92x6QTCdOCdxSxUfKDuwyXRPCLShT2bG0DYghBiGh8GG/n5iFGrPLpJi01QR8iD6 mKkg== X-Gm-Message-State: APjAAAV237mXKfyIQYtw3nzb9DkHMho/0Jo67XfXPqO6Gly7EuG7emhn rGGLna8ObFl8zPC+5FOYuyLiGJ7J X-Google-Smtp-Source: APXvYqw+Cpy1BdaJLcbTokG94oTuhEZ0d5+fEAB1siGu8XLqDJ8IuyDEV5tz9U+0VzKHyUefQsmHLA== X-Received: by 2002:ac8:3743:: with SMTP id p3mr25916648qtb.333.1569876317895; Mon, 30 Sep 2019 13:45:17 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Date: Mon, 30 Sep 2019 17:45:07 -0300 Message-Id: <20190930204508.23698-2-danielhb413@gmail.com> In-Reply-To: <20190930204508.23698-1-danielhb413@gmail.com> References: <20190930204508.23698-1-danielhb413@gmail.com> MIME-Version: 1.0 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Mon, 30 Sep 2019 20:45:19 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Mon, 30 Sep 2019 20:45:19 +0000 (UTC) for IP:'209.85.160.171' DOMAIN:'mail-qt1-f171.google.com' HELO:'mail-qt1-f171.google.com' FROM:'danielhb413@gmail.com' RCPT:'' X-RedHat-Spam-Score: 0.15 (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS) 209.85.160.171 mail-qt1-f171.google.com 209.85.160.171 mail-qt1-f171.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.49 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza Subject: [libvirt] [PATCH 1/2] qemu_process: use VIR_AUTOFREE() 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: , 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.6.2 (mx1.redhat.com [10.5.110.71]); Mon, 30 Sep 2019 20:45:43 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Change all strings and scalar pointers to use VIR_AUTOFREE(), clearing up the 'cleanup' labels when possible. Signed-off-by: Daniel Henrique Barboza --- src/qemu/qemu_process.c | 118 ++++++++++++++-------------------------- 1 file changed, 40 insertions(+), 78 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index a50cd54393..14208ae996 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -106,7 +106,7 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, virDomainObjPtr vm) { char ebuf[1024]; - char *file =3D NULL; + VIR_AUTOFREE(char *) file =3D NULL; qemuDomainObjPrivatePtr priv =3D vm->privateData; virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); int ret =3D -1; @@ -117,7 +117,6 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, if (unlink(file) < 0 && errno !=3D ENOENT && errno !=3D ENOTDIR) VIR_WARN("Failed to remove domain XML for %s: %s", vm->def->name, virStrerror(errno, ebuf, sizeof(ebuf))); - VIR_FREE(file); =20 if (priv->pidfile && unlink(priv->pidfile) < 0 && @@ -1513,7 +1512,7 @@ qemuProcessHandleBlockThreshold(qemuMonitorPtr mon AT= TRIBUTE_UNUSED, virDomainDiskDefPtr disk; virStorageSourcePtr src; unsigned int idx; - char *dev =3D NULL; + VIR_AUTOFREE(char *) dev =3D NULL; const char *path =3D NULL; =20 virObjectLock(vm); @@ -1526,11 +1525,9 @@ qemuProcessHandleBlockThreshold(qemuMonitorPtr mon A= TTRIBUTE_UNUSED, if (virStorageSourceIsLocalStorage(src)) path =3D src->path; =20 - if ((dev =3D qemuDomainDiskBackingStoreGetName(disk, src, idx))) { + if ((dev =3D qemuDomainDiskBackingStoreGetName(disk, src, idx))) event =3D virDomainEventBlockThresholdNewFromObj(vm, dev, path, threshold, exce= ss); - VIR_FREE(dev); - } } =20 virObjectUnlock(vm); @@ -2080,7 +2077,7 @@ static int qemuProcessReportLogError(qemuDomainLogContextPtr logCtxt, const char *msgprefix) { - char *logmsg =3D NULL; + VIR_AUTOFREE(char *) logmsg =3D NULL; size_t max; =20 max =3D VIR_ERROR_MAX_LENGTH - 1; @@ -2097,7 +2094,6 @@ qemuProcessReportLogError(qemuDomainLogContextPtr log= Ctxt, else virReportError(VIR_ERR_INTERNAL_ERROR, _("%s: %s"), msgprefix, log= msg); =20 - VIR_FREE(logmsg); return 0; } =20 @@ -2117,9 +2113,8 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, int count, virHashTablePtr info) { - char *id =3D NULL; + VIR_AUTOFREE(char *) id =3D NULL; size_t i; - int ret =3D -1; =20 for (i =3D 0; i < count; i++) { virDomainChrDefPtr chr =3D devices[i]; @@ -2138,7 +2133,7 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, */ virReportError(VIR_ERR_INTERNAL_ERROR, _("no assigned pty for device %s"), id); - goto cleanup; + return -1; } else { /* 'info chardev' had no pty path for this chardev, * but the log output had, so we're fine @@ -2149,14 +2144,11 @@ qemuProcessLookupPTYs(virDomainChrDefPtr *devices, =20 VIR_FREE(chr->source->data.file.path); if (VIR_STRDUP(chr->source->data.file.path, entry->ptyPath) < = 0) - goto cleanup; + return -1; } } =20 - ret =3D 0; - cleanup: - VIR_FREE(id); - return ret; + return 0; } =20 static int @@ -2208,8 +2200,7 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPtr= driver, int agentReason =3D VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_CH= ANNEL; qemuMonitorChardevInfoPtr entry; virObjectEventPtr event =3D NULL; - char *id =3D NULL; - int ret =3D -1; + VIR_AUTOFREE(char *) id =3D NULL; =20 if (booted) agentReason =3D VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_DO= MAIN_STARTED; @@ -2220,7 +2211,7 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPtr= driver, =20 VIR_FREE(id); if (virAsprintf(&id, "char%s", chr->info.alias) < 0) - goto cleanup; + return -1; =20 /* port state not reported */ if (!(entry =3D virHashLookup(info, id)) || @@ -2237,10 +2228,7 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPt= r driver, } } =20 - ret =3D 0; - cleanup: - VIR_FREE(id); - return ret; + return 0; } =20 =20 @@ -2660,7 +2648,7 @@ qemuProcessSetupPid(virDomainObjPtr vm, virCgroupPtr cgroup =3D NULL; virBitmapPtr use_cpumask =3D NULL; VIR_AUTOPTR(virBitmap) hostcpumap =3D NULL; - char *mem_mask =3D NULL; + VIR_AUTOFREE(char *) mem_mask =3D NULL; int ret =3D -1; =20 if ((period || quota) && @@ -2737,7 +2725,6 @@ qemuProcessSetupPid(virDomainObjPtr vm, =20 ret =3D 0; cleanup: - VIR_FREE(mem_mask); if (cgroup) { if (ret < 0) virCgroupRemove(cgroup); @@ -2816,7 +2803,7 @@ qemuProcessKillManagedPRDaemon(virDomainObjPtr vm) { qemuDomainObjPrivatePtr priv =3D vm->privateData; virErrorPtr orig_err; - char *pidfile; + VIR_AUTOFREE(char *) pidfile =3D NULL; =20 if (!(pidfile =3D qemuProcessBuildPRHelperPidfilePath(vm))) { VIR_WARN("Unable to construct pr-helper pidfile path"); @@ -2837,8 +2824,6 @@ qemuProcessKillManagedPRDaemon(virDomainObjPtr vm) } } virErrorRestore(&orig_err); - - VIR_FREE(pidfile); } =20 =20 @@ -2847,7 +2832,7 @@ qemuProcessStartPRDaemonHook(void *opaque) { virDomainObjPtr vm =3D opaque; size_t i, nfds =3D 0; - int *fds =3D NULL; + VIR_AUTOFREE(int *) fds =3D NULL; int ret =3D -1; =20 if (qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) { @@ -2863,7 +2848,6 @@ qemuProcessStartPRDaemonHook(void *opaque) cleanup: for (i =3D 0; i < nfds; i++) VIR_FORCE_CLOSE(fds[i]); - VIR_FREE(fds); return ret; } =20 @@ -2875,9 +2859,9 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) virQEMUDriverPtr driver =3D priv->driver; virQEMUDriverConfigPtr cfg; int errfd =3D -1; - char *pidfile =3D NULL; + VIR_AUTOFREE(char *) pidfile =3D NULL; int pidfd =3D -1; - char *socketPath =3D NULL; + VIR_AUTOFREE(char *) socketPath =3D NULL; pid_t cpid =3D -1; virCommandPtr cmd =3D NULL; virTimeBackOffVar timebackoff; @@ -2983,9 +2967,7 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) unlink(pidfile); } virCommandFree(cmd); - VIR_FREE(socketPath); VIR_FORCE_CLOSE(pidfd); - VIR_FREE(pidfile); VIR_FORCE_CLOSE(errfd); virObjectUnref(cfg); return ret; @@ -3403,7 +3385,7 @@ qemuProcessUpdateState(virQEMUDriverPtr driver, virDo= mainObjPtr vm) int oldReason; int newReason; bool running; - char *msg =3D NULL; + VIR_AUTOFREE(char *) msg =3D NULL; int ret; =20 qemuDomainObjEnterMonitor(driver, vm); @@ -3451,7 +3433,6 @@ qemuProcessUpdateState(virQEMUDriverPtr driver, virDo= mainObjPtr vm) NULLSTR(msg), virDomainStateTypeToString(newState), virDomainStateReasonToString(newState, newReason)); - VIR_FREE(msg); virDomainObjSetState(vm, newState, newReason); } =20 @@ -3892,7 +3873,7 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr d= river, bool build) { virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); - char *path =3D NULL; + VIR_AUTOFREE(char *) path =3D NULL; size_t i; bool shouldBuildHP =3D false; bool shouldBuildMB =3D false; @@ -3925,13 +3906,10 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr= driver, if (qemuProcessBuildDestroyMemoryPathsImpl(driver, vm, path, build) < 0) goto cleanup; - - VIR_FREE(path); } =20 ret =3D 0; cleanup: - VIR_FREE(path); virObjectUnref(cfg); return ret; } @@ -3943,7 +3921,7 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr = driver, virDomainMemoryDefPtr mem) { virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); - char *path =3D NULL; + VIR_AUTOFREE(char *) path =3D NULL; int ret =3D -1; =20 if (qemuGetMemoryBackingPath(vm->def, cfg, mem->info.alias, &path) < 0) @@ -3957,7 +3935,6 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPtr = driver, =20 ret =3D 0; cleanup: - VIR_FREE(path); virObjectUnref(cfg); return ret; } @@ -4092,11 +4069,12 @@ static int qemuProcessVerifyHypervFeatures(virDomainDefPtr def, virCPUDataPtr cpu) { - char *cpuFeature; size_t i; int rc; =20 for (i =3D 0; i < VIR_DOMAIN_HYPERV_LAST; i++) { + VIR_AUTOFREE(char *) cpuFeature =3D NULL; + /* always supported string property */ if (i =3D=3D VIR_DOMAIN_HYPERV_VENDOR_ID || i =3D=3D VIR_DOMAIN_HYPERV_SPINLOCKS) @@ -4110,7 +4088,6 @@ qemuProcessVerifyHypervFeatures(virDomainDefPtr def, return -1; =20 rc =3D virCPUDataCheckFeature(cpu, cpuFeature); - VIR_FREE(cpuFeature); =20 if (rc < 0) { return -1; @@ -4530,17 +4507,17 @@ qemuLogOperation(virDomainObjPtr vm, virCommandPtr cmd, qemuDomainLogContextPtr logCtxt) { - char *timestamp; + VIR_AUTOFREE(char *) timestamp =3D NULL; qemuDomainObjPrivatePtr priv =3D vm->privateData; int qemuVersion =3D virQEMUCapsGetVersion(priv->qemuCaps); const char *package =3D virQEMUCapsGetPackage(priv->qemuCaps); - char *hostname =3D virGetHostname(); + VIR_AUTOFREE(char *) hostname =3D virGetHostname(); struct utsname uts; =20 uname(&uts); =20 if ((timestamp =3D virTimeStringNow()) =3D=3D NULL) - goto cleanup; + return; =20 if (qemuDomainLogContextWrite(logCtxt, "%s: %s %s, qemu version: %d.%d.%d%s, ke= rnel: %s, hostname: %s\n", @@ -4551,17 +4528,12 @@ qemuLogOperation(virDomainObjPtr vm, NULLSTR_EMPTY(package), uts.release, NULLSTR_EMPTY(hostname)) < 0) - goto cleanup; + return; =20 if (cmd) { - char *args =3D virCommandToString(cmd, true); + VIR_AUTOFREE(char *) args =3D virCommandToString(cmd, true); qemuDomainLogContextWrite(logCtxt, "%s\n", args); - VIR_FREE(args); } - - cleanup: - VIR_FREE(hostname); - VIR_FREE(timestamp); } =20 =20 @@ -4661,7 +4633,7 @@ qemuProcessStartHook(virQEMUDriverPtr driver, virHookSubopType subop) { qemuDomainObjPrivatePtr priv =3D vm->privateData; - char *xml; + VIR_AUTOFREE(char *) xml =3D NULL; int ret; =20 if (!virHookPresent(VIR_HOOK_DRIVER_QEMU)) @@ -4672,7 +4644,6 @@ qemuProcessStartHook(virQEMUDriverPtr driver, =20 ret =3D virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name, op, subop, NULL, xml, NULL); - VIR_FREE(xml); =20 return ret; } @@ -4785,7 +4756,7 @@ qemuProcessGetNetworkAddress(const char *netname, virSocketAddr addr; virSocketAddrPtr addrptr =3D NULL; char *dev_name =3D NULL; - char *xml =3D NULL; + VIR_AUTOFREE(char *) xml =3D NULL; =20 *netaddr =3D NULL; =20 @@ -4867,7 +4838,6 @@ qemuProcessGetNetworkAddress(const char *netname, virNetworkDefFree(netdef); virObjectUnref(net); virObjectUnref(conn); - VIR_FREE(xml); return ret; } =20 @@ -6165,7 +6135,7 @@ qemuProcessPrepareDomainNUMAPlacement(virDomainObjPtr= vm, virCapsPtr caps) { qemuDomainObjPrivatePtr priv =3D vm->privateData; - char *nodeset =3D NULL; + VIR_AUTOFREE(char *) nodeset =3D NULL; virBitmapPtr numadNodeset =3D NULL; virBitmapPtr hostMemoryNodeset =3D NULL; int ret =3D -1; @@ -6203,7 +6173,6 @@ qemuProcessPrepareDomainNUMAPlacement(virDomainObjPtr= vm, ret =3D 0; =20 cleanup: - VIR_FREE(nodeset); virBitmapFree(numadNodeset); virBitmapFree(hostMemoryNodeset); return ret; @@ -6413,8 +6382,7 @@ qemuProcessSEVCreateFile(virDomainObjPtr vm, { qemuDomainObjPrivatePtr priv =3D vm->privateData; virQEMUDriverPtr driver =3D priv->driver; - char *configFile; - int ret =3D -1; + VIR_AUTOFREE(char *) configFile =3D NULL; =20 if (!(configFile =3D virFileBuildPath(priv->libDir, name, ".base64"))) return -1; @@ -6422,16 +6390,13 @@ qemuProcessSEVCreateFile(virDomainObjPtr vm, if (virFileRewriteStr(configFile, S_IRUSR | S_IWUSR, data) < 0) { virReportSystemError(errno, _("failed to write data to config '%s'= "), configFile); - goto cleanup; + return -1; } =20 if (qemuSecurityDomainSetPathLabel(driver, vm, configFile, true) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - cleanup: - VIR_FREE(configFile); - return ret; + return 0; } =20 =20 @@ -6768,7 +6733,7 @@ qemuProcessLaunch(virConnectPtr conn, virQEMUDriverConfigPtr cfg; virCapsPtr caps =3D NULL; size_t nnicindexes =3D 0; - int *nicindexes =3D NULL; + VIR_AUTOFREE(int *) nicindexes =3D NULL; size_t i; =20 VIR_DEBUG("conn=3D%p driver=3D%p vm=3D%p name=3D%s if=3D%d asyncJob=3D= %d " @@ -7083,7 +7048,6 @@ qemuProcessLaunch(virConnectPtr conn, virObjectUnref(logCtxt); virObjectUnref(cfg); virObjectUnref(caps); - VIR_FREE(nicindexes); return ret; } =20 @@ -7408,7 +7372,7 @@ void qemuProcessStop(virQEMUDriverPtr driver, virDomainDefPtr def; virNetDevVPortProfilePtr vport =3D NULL; size_t i; - char *timestamp; + VIR_AUTOFREE(char *) timestamp =3D NULL; virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); virConnectPtr conn =3D NULL; =20 @@ -7451,7 +7415,6 @@ void qemuProcessStop(virQEMUDriverPtr driver, qemuDomainLogAppendMessage(driver, vm, "%s: shutting down, reason= =3D%s\n", timestamp, virDomainShutoffReasonTypeToString(reas= on)); - VIR_FREE(timestamp); } =20 /* Clear network bandwidth */ @@ -7523,13 +7486,12 @@ void qemuProcessStop(virQEMUDriverPtr driver, =20 /* now that we know it's stopped call the hook if present */ if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) { - char *xml =3D qemuDomainDefFormatXML(driver, NULL, vm->def, 0); + VIR_AUTOFREE(char *) xml =3D qemuDomainDefFormatXML(driver, NULL, = vm->def, 0); =20 /* we can't stop the operation even if the script raised an error = */ ignore_value(virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name, VIR_HOOK_QEMU_OP_STOPPED, VIR_HOOK_SUBOP_= END, NULL, xml, NULL)); - VIR_FREE(xml); } =20 /* Reset Security Labels unless caller don't want us to */ @@ -7699,13 +7661,12 @@ void qemuProcessStop(virQEMUDriverPtr driver, =20 /* The "release" hook cleans up additional resources */ if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) { - char *xml =3D qemuDomainDefFormatXML(driver, NULL, vm->def, 0); + VIR_AUTOFREE(char *) xml =3D qemuDomainDefFormatXML(driver, NULL, = vm->def, 0); =20 /* we can't stop the operation even if the script raised an error = */ virHookCall(VIR_HOOK_DRIVER_QEMU, vm->def->name, VIR_HOOK_QEMU_OP_RELEASE, VIR_HOOK_SUBOP_END, NULL, xml, NULL); - VIR_FREE(xml); } =20 virDomainObjRemoveTransientDef(vm); @@ -8261,13 +8222,14 @@ qemuProcessReconnect(void *opaque) =20 /* Run an hook to allow admins to do some magic */ if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) { - char *xml =3D qemuDomainDefFormatXML(driver, priv->qemuCaps, obj->= def, 0); + VIR_AUTOFREE(char *) xml =3D qemuDomainDefFormatXML(driver, + priv->qemuCaps, + obj->def, 0); int hookret; =20 hookret =3D virHookCall(VIR_HOOK_DRIVER_QEMU, obj->def->name, VIR_HOOK_QEMU_OP_RECONNECT, VIR_HOOK_SUBOP_B= EGIN, NULL, xml, NULL); - VIR_FREE(xml); =20 /* * If the script raised an error abort the launch --=20 2.21.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu May 2 21:20:22 2024 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; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1569876331; cv=none; d=zoho.com; s=zohoarc; b=PcyEE7+K0npVmdpWc+KWJBM4svLjrllTizwSuQyv/8Bh4JCC4iIAuCJfL+aF03qUloCmOtwHQmh4fIN6oPFRCNuej+TvWU2nQh6aoB08Aukossd02sNjcZ+iA9LxTtqLTG5jUuEHu6B8UiT6E1q9Ok48tUOfZRjlPrZ1KGqcQ/Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1569876331; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=Ta3BjIcuhpMsoFnHCgBcDBdwSIxnZ0XuiB2XXFHZ42s=; b=AZ/irrhrnpDHtcCASMtzbWt0QWQ9GpbrhAf3ggGcMcY+USFeXcqU3BK2Hjs9XzLfRQvsP3UkwM0EIPLHfk0gl+gpB9/mnEmLHeTgxq06ate7bcN2J4KITbGTqaYzfRm7HwY3Ozeozl1yXODSMVVIjOtv90Pz+BD7YMlBhU5sXTU= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1569876331903589.8689347638281; Mon, 30 Sep 2019 13:45:31 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 085C93086272; Mon, 30 Sep 2019 20:45:30 +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 C59B66012A; Mon, 30 Sep 2019 20:45:29 +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 7E1BA180B761; Mon, 30 Sep 2019 20:45:29 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x8UKjRBA007968 for ; Mon, 30 Sep 2019 16:45:27 -0400 Received: by smtp.corp.redhat.com (Postfix) id 7484760F90; Mon, 30 Sep 2019 20:45:27 +0000 (UTC) Received: from mx1.redhat.com (ext-mx21.extmail.prod.ext.phx2.redhat.com [10.5.110.62]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6801060E1C for ; Mon, 30 Sep 2019 20:45:22 +0000 (UTC) Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A813C18C4273 for ; Mon, 30 Sep 2019 20:45:20 +0000 (UTC) Received: by mail-qk1-f172.google.com with SMTP id p10so9090022qkg.8 for ; Mon, 30 Sep 2019 13:45:20 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:2a15:38ab:f72b:e1c1:67e7]) by smtp.gmail.com with ESMTPSA id a3sm7571377qtn.97.2019.09.30.13.45.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Sep 2019 13:45:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=cjd4kxrbk+vnJXp2bux2Ne7fHLhVWC9/0mSBLXMwS34=; b=eiNfRKY6l4dEaLeCDtUpDA4fistCGQP5cGDddTl7yde5HhTZ+2JVgbSeXB2ukpDsi2 41fkYnIluU/rKPqBwEcS50ccoP1YiomgtI3bQ49ZsiLakeepL6Ou6WmAehcdg0JT9uXn eRwlGM3pRfynf2f8bhw3yhyx7XqxxGFn7UFDhVlT1xqEVI4GB/dTP4l1yMiG2zlG5oCq nNWaaoNfHOu8keiIT9SNgCVSYLV3XCOK2eqrgzwI7v6ObKEm5p2P8gT2gkQo5PJuc86I fWaY3XF3+lgz/1zj+oYriiFYBgmPwMn/E2MT04edKV3KKX4BQo4CcYqF8fF1qFBJKQY0 FxAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=cjd4kxrbk+vnJXp2bux2Ne7fHLhVWC9/0mSBLXMwS34=; b=bD4XVg1z8gq2L+uzCfYaMuGggO0SbMSSdR3PWIkqUHBGWwO1zd4rIiGBVEnaoZ5MBy pLJ+9wc/luaF/RXCtWj+Ar+Gxpx30hbMBZznnXqolxOBKtbmjW9FU0cz/Pzn07CbSR3S KCYy08Z1rw6LMTQntnNdpmtbo5SoenzDcOp3fAwpEMUvOOmVM9oGhp3UE0zAEZDe2q2W e6CnuAme2G71SpbxvHLSmcv11SGWyl5LXDtO+bkznaf/2T9zlylZCQ6p5T7DjhpOiH+h +CMiBdXJ4QbttaDIVFUfiiXUQPEr8Y4YmYM8Yq+QYMZB1xkIdXVCRU7DNMiF1eAMXJ6+ devA== X-Gm-Message-State: APjAAAV3fyLuqWHsJE7xd+BDHDs2j8VytAKfVsuylRD7G/ybBpJV+hA4 zGq3ZngMfO2H57H+go18zyet4I/G X-Google-Smtp-Source: APXvYqzv9BzppYihjRNr3r0qVNBy/0s473Yly8UBFTiI/K2RPeAsGpRq5ySizX7JcPp6MJkgeFzBNw== X-Received: by 2002:a37:743:: with SMTP id 64mr2321144qkh.190.1569876319292; Mon, 30 Sep 2019 13:45:19 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Date: Mon, 30 Sep 2019 17:45:08 -0300 Message-Id: <20190930204508.23698-3-danielhb413@gmail.com> In-Reply-To: <20190930204508.23698-1-danielhb413@gmail.com> References: <20190930204508.23698-1-danielhb413@gmail.com> MIME-Version: 1.0 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.62]); Mon, 30 Sep 2019 20:45:20 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.6.2 (mx1.redhat.com [10.5.110.62]); Mon, 30 Sep 2019 20:45:20 +0000 (UTC) for IP:'209.85.222.172' DOMAIN:'mail-qk1-f172.google.com' HELO:'mail-qk1-f172.google.com' FROM:'danielhb413@gmail.com' RCPT:'' X-RedHat-Spam-Score: 0.15 (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS) 209.85.222.172 mail-qk1-f172.google.com 209.85.222.172 mail-qk1-f172.google.com X-Scanned-By: MIMEDefang 2.84 on 10.5.110.62 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza Subject: [libvirt] [PATCH 2/2] qemu_process: use VIR_AUTOUNREF() 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: , 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.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Mon, 30 Sep 2019 20:45:30 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Change all feasible vir*Ptr pointers to be AUTOUNREF(), clearing up the 'cleanup' labels when possible. Signed-off-by: Daniel Henrique Barboza --- src/qemu/qemu_process.c | 295 +++++++++++++++------------------------- 1 file changed, 109 insertions(+), 186 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 14208ae996..3194b4da74 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -108,11 +108,10 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, char ebuf[1024]; VIR_AUTOFREE(char *) file =3D NULL; qemuDomainObjPrivatePtr priv =3D vm->privateData; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); - int ret =3D -1; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 if (virAsprintf(&file, "%s/%s.xml", cfg->stateDir, vm->def->name) < 0) - goto cleanup; + return -1; =20 if (unlink(file) < 0 && errno !=3D ENOENT && errno !=3D ENOTDIR) VIR_WARN("Failed to remove domain XML for %s: %s", @@ -124,10 +123,7 @@ qemuProcessRemoveDomainStatus(virQEMUDriverPtr driver, VIR_WARN("Failed to remove PID file for %s: %s", vm->def->name, virStrerror(errno, ebuf, sizeof(ebuf))); =20 - ret =3D 0; - cleanup: - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -407,7 +403,7 @@ qemuProcessHandleReset(qemuMonitorPtr mon ATTRIBUTE_UNU= SED, virQEMUDriverPtr driver =3D opaque; virObjectEventPtr event; qemuDomainObjPrivatePtr priv; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); int ret =3D -1; =20 virObjectLock(vm); @@ -444,7 +440,6 @@ qemuProcessHandleReset(qemuMonitorPtr mon ATTRIBUTE_UNU= SED, cleanup: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return ret; } =20 @@ -463,7 +458,7 @@ qemuProcessFakeReboot(void *opaque) virDomainObjPtr vm =3D opaque; qemuDomainObjPrivatePtr priv =3D vm->privateData; virQEMUDriverPtr driver =3D priv->driver; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); virDomainRunningReason reason =3D VIR_DOMAIN_RUNNING_BOOTED; int ret =3D -1, rc; =20 @@ -513,7 +508,6 @@ qemuProcessFakeReboot(void *opaque) if (ret =3D=3D -1) ignore_value(qemuProcessKill(vm, VIR_QEMU_PROCESS_KILL_FORCE)); virDomainObjEndAPI(&vm); - virObjectUnref(cfg); } =20 =20 @@ -576,7 +570,7 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon ATTRIBUTE_= UNUSED, virQEMUDriverPtr driver =3D opaque; qemuDomainObjPrivatePtr priv; virObjectEventPtr event =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); int detail =3D 0; =20 VIR_DEBUG("vm=3D%p", vm); @@ -633,7 +627,6 @@ qemuProcessHandleShutdown(qemuMonitorPtr mon ATTRIBUTE_= UNUSED, unlock: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); =20 return 0; } @@ -648,7 +641,7 @@ qemuProcessHandleStop(qemuMonitorPtr mon ATTRIBUTE_UNUS= ED, virObjectEventPtr event =3D NULL; virDomainPausedReason reason; virDomainEventSuspendedDetailType detail; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); qemuDomainObjPrivatePtr priv =3D vm->privateData; =20 virObjectLock(vm); @@ -694,7 +687,6 @@ qemuProcessHandleStop(qemuMonitorPtr mon ATTRIBUTE_UNUS= ED, =20 virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); =20 return 0; } @@ -707,7 +699,7 @@ qemuProcessHandleResume(qemuMonitorPtr mon ATTRIBUTE_UN= USED, { virQEMUDriverPtr driver =3D opaque; virObjectEventPtr event =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); qemuDomainObjPrivatePtr priv; virDomainRunningReason reason =3D VIR_DOMAIN_RUNNING_UNPAUSED; virDomainEventResumedDetailType eventDetail; @@ -740,7 +732,6 @@ qemuProcessHandleResume(qemuMonitorPtr mon ATTRIBUTE_UN= USED, =20 virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } =20 @@ -752,7 +743,7 @@ qemuProcessHandleRTCChange(qemuMonitorPtr mon ATTRIBUTE= _UNUSED, { virQEMUDriverPtr driver =3D opaque; virObjectEventPtr event =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 virObjectLock(vm); =20 @@ -784,7 +775,6 @@ qemuProcessHandleRTCChange(qemuMonitorPtr mon ATTRIBUTE= _UNUSED, virObjectUnlock(vm); =20 virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } =20 @@ -798,7 +788,7 @@ qemuProcessHandleWatchdog(qemuMonitorPtr mon ATTRIBUTE_= UNUSED, virQEMUDriverPtr driver =3D opaque; virObjectEventPtr watchdogEvent =3D NULL; virObjectEventPtr lifecycleEvent =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 virObjectLock(vm); watchdogEvent =3D virDomainEventWatchdogNewFromObj(vm, action); @@ -846,7 +836,6 @@ qemuProcessHandleWatchdog(qemuMonitorPtr mon ATTRIBUTE_= UNUSED, virObjectEventStateQueue(driver->domainEventState, watchdogEvent); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); =20 - virObjectUnref(cfg); return 0; } =20 @@ -867,7 +856,7 @@ qemuProcessHandleIOError(qemuMonitorPtr mon ATTRIBUTE_U= NUSED, const char *srcPath; const char *devAlias; virDomainDiskDefPtr disk; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 virObjectLock(vm); =20 @@ -918,7 +907,6 @@ qemuProcessHandleIOError(qemuMonitorPtr mon ATTRIBUTE_U= NUSED, virObjectEventStateQueue(driver->domainEventState, ioErrorEvent); virObjectEventStateQueue(driver->domainEventState, ioErrorEvent2); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; } =20 @@ -1147,7 +1135,7 @@ qemuProcessHandleTrayChange(qemuMonitorPtr mon ATTRIB= UTE_UNUSED, virQEMUDriverPtr driver =3D opaque; virObjectEventPtr event =3D NULL; virDomainDiskDefPtr disk; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 virObjectLock(vm); disk =3D qemuProcessFindDomainDiskByAliasOrQOM(vm, devAlias, devid); @@ -1170,7 +1158,6 @@ qemuProcessHandleTrayChange(qemuMonitorPtr mon ATTRIB= UTE_UNUSED, =20 virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } =20 @@ -1182,7 +1169,7 @@ qemuProcessHandlePMWakeup(qemuMonitorPtr mon ATTRIBUT= E_UNUSED, virQEMUDriverPtr driver =3D opaque; virObjectEventPtr event =3D NULL; virObjectEventPtr lifecycleEvent =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 virObjectLock(vm); event =3D virDomainEventPMWakeupNewFromObj(vm); @@ -1209,7 +1196,6 @@ qemuProcessHandlePMWakeup(qemuMonitorPtr mon ATTRIBUT= E_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; } =20 @@ -1221,7 +1207,7 @@ qemuProcessHandlePMSuspend(qemuMonitorPtr mon ATTRIBU= TE_UNUSED, virQEMUDriverPtr driver =3D opaque; virObjectEventPtr event =3D NULL; virObjectEventPtr lifecycleEvent =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 virObjectLock(vm); event =3D virDomainEventPMSuspendNewFromObj(vm); @@ -1251,7 +1237,6 @@ qemuProcessHandlePMSuspend(qemuMonitorPtr mon ATTRIBU= TE_UNUSED, =20 virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); return 0; } =20 @@ -1263,7 +1248,7 @@ qemuProcessHandleBalloonChange(qemuMonitorPtr mon ATT= RIBUTE_UNUSED, { virQEMUDriverPtr driver =3D opaque; virObjectEventPtr event =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 virObjectLock(vm); event =3D virDomainEventBalloonChangeNewFromObj(vm, actual); @@ -1278,7 +1263,6 @@ qemuProcessHandleBalloonChange(qemuMonitorPtr mon ATT= RIBUTE_UNUSED, virObjectUnlock(vm); =20 virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } =20 @@ -1290,7 +1274,7 @@ qemuProcessHandlePMSuspendDisk(qemuMonitorPtr mon ATT= RIBUTE_UNUSED, virQEMUDriverPtr driver =3D opaque; virObjectEventPtr event =3D NULL; virObjectEventPtr lifecycleEvent =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 virObjectLock(vm); event =3D virDomainEventPMSuspendDiskNewFromObj(vm); @@ -1320,7 +1304,6 @@ qemuProcessHandlePMSuspendDisk(qemuMonitorPtr mon ATT= RIBUTE_UNUSED, =20 virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - virObjectUnref(cfg); =20 return 0; } @@ -1651,7 +1634,7 @@ qemuProcessHandleMigrationStatus(qemuMonitorPtr mon A= TTRIBUTE_UNUSED, qemuDomainObjPrivatePtr priv; virQEMUDriverPtr driver =3D opaque; virObjectEventPtr event =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); int reason; =20 virObjectLock(vm); @@ -1690,7 +1673,6 @@ qemuProcessHandleMigrationStatus(qemuMonitorPtr mon A= TTRIBUTE_UNUSED, cleanup: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - virObjectUnref(cfg); return 0; } =20 @@ -2750,9 +2732,8 @@ static int qemuProcessResctrlCreate(virQEMUDriverPtr driver, virDomainObjPtr vm) { - int ret =3D -1; size_t i =3D 0; - virCapsPtr caps =3D NULL; + VIR_AUTOUNREF(virCapsPtr) caps =3D NULL; qemuDomainObjPrivatePtr priv =3D vm->privateData; =20 if (!vm->def->nresctrls) @@ -2769,7 +2750,7 @@ qemuProcessResctrlCreate(virQEMUDriverPtr driver, if (virResctrlAllocCreate(caps->host.resctrl, vm->def->resctrls[i]->alloc, priv->machineName) < 0) - goto cleanup; + return -1; =20 for (j =3D 0; j < vm->def->resctrls[i]->nmonitors; j++) { virDomainResctrlMonDefPtr mon =3D NULL; @@ -2777,14 +2758,11 @@ qemuProcessResctrlCreate(virQEMUDriverPtr driver, mon =3D vm->def->resctrls[i]->monitors[j]; if (virResctrlMonitorCreate(mon->instance, priv->machineName) < 0) - goto cleanup; + return -1; } } =20 - ret =3D 0; - cleanup: - virObjectUnref(caps); - return ret; + return 0; } =20 =20 @@ -2857,7 +2835,7 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) { qemuDomainObjPrivatePtr priv =3D vm->privateData; virQEMUDriverPtr driver =3D priv->driver; - virQEMUDriverConfigPtr cfg; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; int errfd =3D -1; VIR_AUTOFREE(char *) pidfile =3D NULL; int pidfd =3D -1; @@ -2969,7 +2947,6 @@ qemuProcessStartManagedPRDaemon(virDomainObjPtr vm) virCommandFree(cmd); VIR_FORCE_CLOSE(pidfd); VIR_FORCE_CLOSE(errfd); - virObjectUnref(cfg); return ret; } =20 @@ -2980,7 +2957,7 @@ qemuProcessInitPasswords(virQEMUDriverPtr driver, int asyncJob) { int ret =3D 0; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); size_t i; =20 for (i =3D 0; i < vm->def->ngraphics; ++i) { @@ -3000,11 +2977,9 @@ qemuProcessInitPasswords(virQEMUDriverPtr driver, } =20 if (ret < 0) - goto cleanup; + return ret; } =20 - cleanup: - virObjectUnref(cfg); return ret; } =20 @@ -3065,7 +3040,7 @@ qemuProcessUpdateVideoRamSize(virQEMUDriverPtr driver, ssize_t i; qemuDomainObjPrivatePtr priv =3D vm->privateData; virDomainVideoDefPtr video =3D NULL; - virQEMUDriverConfigPtr cfg =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; =20 if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) return -1; @@ -3124,7 +3099,6 @@ qemuProcessUpdateVideoRamSize(virQEMUDriverPtr driver, =20 cfg =3D virQEMUDriverGetConfig(driver); ret =3D virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver-= >caps); - virObjectUnref(cfg); =20 return ret; =20 @@ -3231,11 +3205,11 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDo= mainObjPtr vm, { int ret =3D -1; qemuDomainObjPrivatePtr priv =3D vm->privateData; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 /* Bring up netdevs before starting CPUs */ if (qemuInterfaceStartDevices(vm->def) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Using lock state '%s'", NULLSTR(priv->lockState)); if (virDomainLockProcessResume(driver->lockManager, cfg->uri, @@ -3244,7 +3218,7 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDoma= inObjPtr vm, * to make sure we have state still present if the user * tries to resume again */ - goto cleanup; + return -1; } VIR_FREE(priv->lockState); =20 @@ -3265,8 +3239,6 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDoma= inObjPtr vm, * lifecycle event. */ =20 - cleanup: - virObjectUnref(cfg); return ret; =20 release: @@ -3274,7 +3246,7 @@ qemuProcessStartCPUs(virQEMUDriverPtr driver, virDoma= inObjPtr vm, if (virDomainLockProcessPause(driver->lockManager, vm, &priv->lockStat= e) < 0) VIR_WARN("Unable to release lease on %s", vm->def->name); VIR_DEBUG("Preserving lock state '%s'", NULLSTR(priv->lockState)); - goto cleanup; + return ret; } =20 =20 @@ -3328,7 +3300,7 @@ static void qemuProcessNotifyNets(virDomainDefPtr def) { size_t i; - virConnectPtr conn =3D NULL; + VIR_AUTOUNREF(virConnectPtr) conn =3D NULL; =20 for (i =3D 0; i < def->nnets; i++) { virDomainNetDefPtr net =3D def->nets[i]; @@ -3346,8 +3318,6 @@ qemuProcessNotifyNets(virDomainDefPtr def) virDomainNetNotifyActualDevice(conn, def, net); } } - - virObjectUnref(conn); } =20 /* Attempt to instantiate the filters. Ignore failures because it's @@ -3872,12 +3842,11 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr= driver, virDomainMemoryDefPtr mem, bool build) { - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); VIR_AUTOFREE(char *) path =3D NULL; size_t i; bool shouldBuildHP =3D false; bool shouldBuildMB =3D false; - int ret =3D -1; =20 if (build) { shouldBuildHP =3D qemuProcessNeedHugepagesPath(vm->def, mem); @@ -3889,11 +3858,11 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr= driver, path =3D qemuGetDomainHugepagePath(vm->def, &cfg->hugetlbfs[i]= ); =20 if (!path) - goto cleanup; + return -1; =20 if (qemuProcessBuildDestroyMemoryPathsImpl(driver, vm, path, build) < 0) - goto cleanup; + return -1; =20 VIR_FREE(path); } @@ -3901,17 +3870,14 @@ qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr= driver, =20 if (!build || shouldBuildMB) { if (qemuGetMemoryBackingDomainPath(vm->def, cfg, &path) < 0) - goto cleanup; + return -1; =20 if (qemuProcessBuildDestroyMemoryPathsImpl(driver, vm, path, build) < 0) - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -3920,23 +3886,19 @@ qemuProcessDestroyMemoryBackingPath(virQEMUDriverPt= r driver, virDomainObjPtr vm, virDomainMemoryDefPtr mem) { - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); VIR_AUTOFREE(char *) path =3D NULL; - int ret =3D -1; =20 if (qemuGetMemoryBackingPath(vm->def, cfg, mem->info.alias, &path) < 0) - goto cleanup; + return -1; =20 if (unlink(path) < 0 && errno !=3D ENOENT) { virReportSystemError(errno, _("Unable to remove %s"), path); - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -3975,12 +3937,11 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driv= er, virDomainGraphicsDefPtr graphics, bool allocate) { - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); unsigned short port =3D 0; unsigned short tlsPort; size_t i; int defaultMode =3D graphics->data.spice.defaultMode; - int ret =3D -1; =20 bool needTLSPort =3D false; bool needPort =3D false; @@ -4026,13 +3987,12 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driv= er, if (needTLSPort || graphics->data.spice.tlsPort =3D=3D -1) graphics->data.spice.tlsPort =3D 5902; =20 - ret =3D 0; - goto cleanup; + return 0; } =20 if (needPort || graphics->data.spice.port =3D=3D -1) { if (virPortAllocatorAcquire(driver->remotePorts, &port) < 0) - goto cleanup; + return -1; =20 graphics->data.spice.port =3D port; =20 @@ -4045,11 +4005,11 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr driv= er, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Auto allocation of spice TLS port requested " "but spice TLS is disabled in qemu.conf")); - goto cleanup; + return -1; } =20 if (virPortAllocatorAcquire(driver->remotePorts, &tlsPort) < 0) - goto cleanup; + return -1; =20 graphics->data.spice.tlsPort =3D tlsPort; =20 @@ -4057,11 +4017,7 @@ qemuProcessSPICEAllocatePorts(virQEMUDriverPtr drive= r, graphics->data.spice.tlsPortReserved =3D true; } =20 - ret =3D 0; - - cleanup: - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -4748,9 +4704,9 @@ static int qemuProcessGetNetworkAddress(const char *netname, char **netaddr) { - virConnectPtr conn =3D NULL; + VIR_AUTOUNREF(virConnectPtr) conn =3D NULL; int ret =3D -1; - virNetworkPtr net; + VIR_AUTOUNREF(virNetworkPtr) net =3D NULL; virNetworkDefPtr netdef =3D NULL; virNetworkIPDefPtr ipdef; virSocketAddr addr; @@ -4836,8 +4792,6 @@ qemuProcessGetNetworkAddress(const char *netname, ret =3D 0; cleanup: virNetworkDefFree(netdef); - virObjectUnref(net); - virObjectUnref(conn); return ret; } =20 @@ -4875,12 +4829,11 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr dri= ver, virDomainObjPtr vm) { qemuDomainObjPrivatePtr priv =3D vm->privateData; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); const char *type =3D virDomainGraphicsTypeToString(graphics->type); char *listenAddr =3D NULL; bool useSocket =3D false; size_t i; - int ret =3D -1; =20 switch (graphics->type) { case VIR_DOMAIN_GRAPHICS_TYPE_VNC: @@ -4914,12 +4867,12 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr dri= ver, memset(glisten, 0, sizeof(virDomainGraphicsListenDef)); if (virAsprintf(&glisten->socket, "%s/%s.sock", priv->libDir, type) < 0) - goto cleanup; + return -1; glisten->fromConfig =3D true; glisten->type =3D VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_SOCK= ET; } else if (listenAddr) { if (VIR_STRDUP(glisten->address, listenAddr) < 0) - goto cleanup; + return -1; glisten->fromConfig =3D true; } } @@ -4931,14 +4884,14 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr dri= ver, =20 if (qemuProcessGraphicsSetupNetworkAddress(glisten, listenAddr) < 0) - goto cleanup; + return -1; break; =20 case VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_SOCKET: if (!glisten->socket) { if (virAsprintf(&glisten->socket, "%s/%s.sock", priv->libDir, type) < 0) - goto cleanup; + return -1; glisten->autoGenerated =3D true; } break; @@ -4949,11 +4902,7 @@ qemuProcessGraphicsSetupListen(virQEMUDriverPtr driv= er, } } =20 - ret =3D 0; - - cleanup: - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -5585,7 +5534,7 @@ qemuProcessInit(virQEMUDriverPtr driver, bool migration, unsigned int flags) { - virCapsPtr caps =3D NULL; + VIR_AUTOUNREF(virCapsPtr) caps =3D NULL; qemuDomainObjPrivatePtr priv =3D vm->privateData; int stopFlags; virCPUDefPtr origCPU =3D NULL; @@ -5668,7 +5617,6 @@ qemuProcessInit(virQEMUDriverPtr driver, =20 cleanup: virCPUDefFree(origCPU); - virObjectUnref(caps); return ret; =20 stop: @@ -5689,9 +5637,8 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr dri= ver, { virDomainDefPtr def =3D vm->def; qemuDomainObjPrivatePtr priv =3D vm->privateData; - int ret =3D -1; size_t i; - virConnectPtr conn =3D NULL; + VIR_AUTOUNREF(virConnectPtr) conn =3D NULL; =20 for (i =3D 0; i < def->nnets; i++) { virDomainNetDefPtr net =3D def->nets[i]; @@ -5703,9 +5650,9 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr dri= ver, */ if (net->type =3D=3D VIR_DOMAIN_NET_TYPE_NETWORK) { if (!conn && !(conn =3D virGetConnectNetwork())) - goto cleanup; + return -1; if (virDomainNetAllocateActualDevice(conn, def, net) < 0) - goto cleanup; + return -1; } =20 actualType =3D virDomainNetGetActualType(net); @@ -5729,10 +5676,10 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr d= river, pcisrc->addr.domain, pcisrc->addr.bus, pcisrc->addr.slot, pcisrc->addr.function, net->data.network.name, def->name); - goto cleanup; + return -1; } if (virDomainHostdevInsert(def, hostdev) < 0) - goto cleanup; + return -1; } else if (actualType =3D=3D VIR_DOMAIN_NET_TYPE_USER && !priv->disableSlirp && virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DBUS_VMSTATE))= { @@ -5742,10 +5689,7 @@ qemuProcessNetworkPrepareDevices(virQEMUDriverPtr dr= iver, } =20 } - ret =3D 0; - cleanup: - virObjectUnref(conn); - return ret; + return 0; } =20 =20 @@ -6249,18 +6193,17 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, virDomainObjPtr vm, unsigned int flags) { - int ret =3D -1; size_t i; qemuDomainObjPrivatePtr priv =3D vm->privateData; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); - virCapsPtr caps; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); + VIR_AUTOUNREF(virCapsPtr) caps =3D NULL; =20 if (!(caps =3D virQEMUDriverGetCapabilities(driver, false))) - goto cleanup; + return -1; =20 priv->machineName =3D qemuDomainGetMachineName(vm); if (!priv->machineName) - goto cleanup; + return -1; =20 if (!(flags & VIR_QEMU_PROCESS_START_PRETEND)) { /* If you are using a SecurityDriver with dynamic labelling, @@ -6268,12 +6211,12 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, VIR_DEBUG("Generating domain security label (if required)"); if (qemuSecurityGenLabel(driver->securityManager, vm->def) < 0) { virDomainAuditSecurityLabel(vm, false); - goto cleanup; + return -1; } virDomainAuditSecurityLabel(vm, true); =20 if (qemuProcessPrepareDomainNUMAPlacement(vm, caps) < 0) - goto cleanup; + return -1; } =20 /* Whether we should use virtlogd as stdio handler for character @@ -6307,51 +6250,51 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, VIR_DEBUG("Assigning domain PCI addresses"); if ((qemuDomainAssignAddresses(vm->def, priv->qemuCaps, driver, vm, !!(flags & VIR_QEMU_PROCESS_START_NEW))= ) < 0) { - goto cleanup; + return -1; } =20 if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Setting graphics devices"); if (qemuProcessSetupGraphics(driver, vm, priv->qemuCaps, flags) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Create domain masterKey"); if (qemuDomainMasterKeyCreate(vm) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Setting up storage"); if (qemuProcessPrepareDomainStorage(driver, vm, priv, cfg, flags) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Prepare chardev source backends for TLS"); qemuDomainPrepareChardevSource(vm->def, cfg); =20 VIR_DEBUG("Prepare device secrets"); if (qemuDomainSecretPrepare(driver, vm) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Prepare bios/uefi paths"); if (qemuFirmwareFillDomain(driver, vm, flags) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Preparing external devices"); if (qemuExtDevicesPrepareDomain(driver, vm) < 0) - goto cleanup; + return -1; =20 for (i =3D 0; i < vm->def->nchannels; i++) { if (qemuDomainPrepareChannel(vm->def->channels[i], priv->channelTargetDir) < 0) - goto cleanup; + return -1; } =20 if (!(priv->monConfig =3D virDomainChrSourceDefNew(driver->xmlopt))) - goto cleanup; + return -1; =20 VIR_DEBUG("Preparing monitor state"); if (qemuProcessPrepareMonitorChr(priv->monConfig, priv->libDir) < 0) - goto cleanup; + return -1; =20 priv->monError =3D false; priv->monStart =3D 0; @@ -6360,18 +6303,14 @@ qemuProcessPrepareDomain(virQEMUDriverPtr driver, =20 VIR_DEBUG("Updating guest CPU definition"); if (qemuProcessUpdateGuestCPU(vm->def, priv->qemuCaps, caps, flags) < = 0) - goto cleanup; + return -1; =20 for (i =3D 0; i < vm->def->nshmems; i++) { if (qemuDomainPrepareShmemChardev(vm->def->shmems[i]) < 0) - goto cleanup; + return -1; } =20 - ret =3D 0; - cleanup: - virObjectUnref(caps); - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -6523,17 +6462,16 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, virDomainObjPtr vm, unsigned int flags) { - int ret =3D -1; unsigned int hostdev_flags =3D 0; qemuDomainObjPrivatePtr priv =3D vm->privateData; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 if (qemuPrepareNVRAM(cfg, vm) < 0) - goto cleanup; + return -1; =20 if (vm->def->vsock) { if (qemuProcessOpenVhostVsock(vm->def->vsock) < 0) - goto cleanup; + return -1; } /* network devices must be "prepared" before hostdevs, because * setting up a network device might create a new hostdev that @@ -6541,7 +6479,7 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, */ VIR_DEBUG("Preparing network devices"); if (qemuProcessNetworkPrepareDevices(driver, vm) < 0) - goto cleanup; + return -1; =20 /* Must be run before security labelling */ VIR_DEBUG("Preparing host devices"); @@ -6551,17 +6489,17 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, hostdev_flags |=3D VIR_HOSTDEV_COLD_BOOT; if (qemuHostdevPrepareDomainDevices(driver, vm->def, priv->qemuCaps, hostdev_flags) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Preparing chr devices"); if (virDomainChrDefForeach(vm->def, true, qemuProcessPrepareChardevDevice, NULL) < 0) - goto cleanup; + return -1; =20 if (qemuProcessBuildDestroyMemoryPaths(driver, vm, NULL, true) < 0) - goto cleanup; + return -1; =20 /* Ensure no historical cgroup for this VM is lying around bogus * settings */ @@ -6572,14 +6510,14 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, virReportSystemError(errno, _("cannot create log directory %s"), cfg->logDir); - goto cleanup; + return -1; } =20 VIR_FREE(priv->pidfile); if (!(priv->pidfile =3D virPidFileBuildPath(cfg->stateDir, vm->def->na= me))) { virReportSystemError(errno, "%s", _("Failed to build pidfile path.")); - goto cleanup; + return -1; } =20 if (unlink(priv->pidfile) < 0 && @@ -6587,7 +6525,7 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, virReportSystemError(errno, _("Cannot remove stale PID file %s"), priv->pidfile); - goto cleanup; + return -1; } =20 /* @@ -6596,27 +6534,24 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver, */ if (qemuProcessMakeDir(driver, vm, priv->libDir) < 0 || qemuProcessMakeDir(driver, vm, priv->channelTargetDir) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Write domain masterKey"); if (qemuDomainWriteMasterKeyFile(driver, vm) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Preparing disks (host)"); if (qemuProcessPrepareHostStorage(driver, vm, flags) < 0) - goto cleanup; + return -1; =20 VIR_DEBUG("Preparing external devices"); if (qemuExtDevicesPrepareHost(driver, vm) < 0) - goto cleanup; + return -1; =20 if (qemuProcessPrepareSEVGuestInput(vm) < 0) - goto cleanup; + return -1; =20 - ret =3D 0; - cleanup: - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -6730,8 +6665,8 @@ qemuProcessLaunch(virConnectPtr conn, qemuDomainObjPrivatePtr priv =3D vm->privateData; virCommandPtr cmd =3D NULL; struct qemuProcessHookData hookData; - virQEMUDriverConfigPtr cfg; - virCapsPtr caps =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; + VIR_AUTOUNREF(virCapsPtr) caps =3D NULL; size_t nnicindexes =3D 0; VIR_AUTOFREE(int *) nicindexes =3D NULL; size_t i; @@ -7046,8 +6981,6 @@ qemuProcessLaunch(virConnectPtr conn, qemuDomainSecretDestroy(vm); virCommandFree(cmd); virObjectUnref(logCtxt); - virObjectUnref(cfg); - virObjectUnref(caps); return ret; } =20 @@ -7104,8 +7037,7 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, bool startCPUs, virDomainPausedReason pausedReason) { - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); - int ret =3D -1; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); =20 if (startCPUs) { VIR_DEBUG("Starting domain CPUs"); @@ -7115,7 +7047,7 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, if (virGetLastErrorCode() =3D=3D VIR_ERR_OK) virReportError(VIR_ERR_OPERATION_FAILED, "%s", _("resume operation failed")); - goto cleanup; + return -1; } } else { virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, pausedReason); @@ -7123,18 +7055,14 @@ qemuProcessFinishStartup(virQEMUDriverPtr driver, =20 VIR_DEBUG("Writing domain status to disk"); if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver->cap= s) < 0) - goto cleanup; + return -1; =20 if (qemuProcessStartHook(driver, vm, VIR_HOOK_QEMU_OP_STARTED, VIR_HOOK_SUBOP_BEGIN) < 0) - goto cleanup; - - ret =3D 0; + return -1; =20 - cleanup: - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -7373,8 +7301,8 @@ void qemuProcessStop(virQEMUDriverPtr driver, virNetDevVPortProfilePtr vport =3D NULL; size_t i; VIR_AUTOFREE(char *) timestamp =3D NULL; - virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); - virConnectPtr conn =3D NULL; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D virQEMUDriverGetConfig(d= river); + VIR_AUTOUNREF(virConnectPtr) conn =3D NULL; =20 VIR_DEBUG("Shutting down vm=3D%p name=3D%s id=3D%d pid=3D%lld, " "reason=3D%s, asyncJob=3D%s, flags=3D0x%x", @@ -7680,8 +7608,6 @@ void qemuProcessStop(virQEMUDriverPtr driver, virSetError(orig_err); virFreeError(orig_err); } - virObjectUnref(conn); - virObjectUnref(cfg); } =20 =20 @@ -7816,7 +7742,7 @@ static int qemuProcessRefreshCPU(virQEMUDriverPtr driver, virDomainObjPtr vm) { - virCapsPtr caps =3D virQEMUDriverGetCapabilities(driver, false); + VIR_AUTOUNREF(virCapsPtr) caps =3D virQEMUDriverGetCapabilities(driver= , false); qemuDomainObjPrivatePtr priv =3D vm->privateData; virCPUDefPtr host =3D NULL; virCPUDefPtr cpu =3D NULL; @@ -7867,7 +7793,6 @@ qemuProcessRefreshCPU(virQEMUDriverPtr driver, cleanup: virCPUDefFree(cpu); virCPUDefFree(host); - virObjectUnref(caps); return ret; } =20 @@ -8003,11 +7928,11 @@ qemuProcessReconnect(void *opaque) qemuDomainJobObj oldjob; int state; int reason; - virQEMUDriverConfigPtr cfg; + VIR_AUTOUNREF(virQEMUDriverConfigPtr) cfg =3D NULL; size_t i; unsigned int stopFlags =3D 0; bool jobStarted =3D false; - virCapsPtr caps =3D NULL; + VIR_AUTOUNREF(virCapsPtr) caps =3D NULL; bool retry =3D true; bool tryMonReconn =3D false; =20 @@ -8251,8 +8176,6 @@ qemuProcessReconnect(void *opaque) qemuDomainRemoveInactiveJob(driver, obj); } virDomainObjEndAPI(&obj); - virObjectUnref(cfg); - virObjectUnref(caps); virNWFilterUnlockFilterUpdates(); virIdentitySetCurrent(NULL); return; --=20 2.21.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list