From nobody Sat May 4 05:29:00 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1676887270; cv=none; d=zohomail.com; s=zohoarc; b=Q3xNEyyF0NBtiFNg5m6/eQueeQ0bW4ke5FgtOnj/tnw8PxqYtZgG53hqRBw0YNYm/3x3tq3hqoqnIfC+VWwKiiBCJNKSKsLqgoEhPnWVhPRxx2ADFInhpRpsIpnbRchm3vi4p0/PvhQ0jNtI1hhocGhuUHl5swjlOg7Ndlk6L2k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1676887270; h=Content-Type:Content-Transfer-Encoding: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; bh=8dEXa6i/nkqJEtyLBAinV/qxrkWiFvN4lSXCeIz2izA=; b=X63H1VTBgsGglaQ/VJ5Dqj4lWMRg0oH3H0XZ42UFwYQNf09PhRNEFDUoOKBDULGiE9N7+mtbgWEPy/8kPgubuJNHeWPltM8sh9YUaJA1ZBbRUtftYqjNXK63DuDc4cjof9K39/Pl4wpuwlgMURStT3PxPvPlmih5fA+ZQwVvPgc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1676887270520751.7523874854321; Mon, 20 Feb 2023 02:01:10 -0800 (PST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-481-_NUzxAxwMOeXPSEK-56-zg-1; Mon, 20 Feb 2023 05:01:06 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D376C803D7A; Mon, 20 Feb 2023 10:01:02 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7D46A1121319; Mon, 20 Feb 2023 10:01:02 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id AF1A519465B1; Mon, 20 Feb 2023 10:01:01 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id C7CF61946587 for ; Mon, 20 Feb 2023 10:01:00 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id A9D6F1415113; Mon, 20 Feb 2023 10:01:00 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4E65D140EBF6 for ; Mon, 20 Feb 2023 10:01:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1676887269; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=8dEXa6i/nkqJEtyLBAinV/qxrkWiFvN4lSXCeIz2izA=; b=XcJ+ZOdeTxwxUaBfG/kTX4B/W7UAy+3kZlkxv2xb0oM8DVeSsd5BvBmo7RCeL42jAmgnaO OakkduGMamgr1povlY4NdqWO3gRDfHrEGnU4MAOR2P/fyoUXLnGAuyTifN1qrSZJIMhX23 /YpmoGSf5oYCg1WrsEUhStinaWywWU8= X-MC-Unique: _NUzxAxwMOeXPSEK-56-zg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 1/4] qemu_slirp: Don't set errfd when starting slirp helper Date: Mon, 20 Feb 2023 11:00:55 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1676887271855100002 Content-Type: text/plain; charset="utf-8"; x-default="true" Way back, in v6.2.0-rc1~67 we removed the code that reads slip's stderr on failed startup. However, we forgot to remove corresponding virCommandSetErrorFD() call and variable declaration. Do that now. While this may seem like a step in wrong direction (we should be reading stderr as it may contain reason for failed start), this is going to be handled in more general way in next commits. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_slirp.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/qemu/qemu_slirp.c b/src/qemu/qemu_slirp.c index 3f83db03bf..faf58b0394 100644 --- a/src/qemu/qemu_slirp.c +++ b/src/qemu/qemu_slirp.c @@ -249,7 +249,6 @@ qemuSlirpStart(virDomainObj *vm, int rc; int exitstatus =3D 0; int cmdret =3D 0; - VIR_AUTOCLOSE errfd =3D -1; bool killDBusDaemon =3D false; g_autofree char *fdname =3D g_strdup_printf("slirpfd-%s", net->info.al= ias); =20 @@ -272,7 +271,6 @@ qemuSlirpStart(virDomainObj *vm, =20 virCommandClearCaps(cmd); virCommandSetPidFile(cmd, pidfile); - virCommandSetErrorFD(cmd, &errfd); virCommandDaemonize(cmd); =20 virCommandAddArgFormat(cmd, "--fd=3D%d", slirp->fd[1]); --=20 2.39.2 From nobody Sat May 4 05:29:00 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1676887270; cv=none; d=zohomail.com; s=zohoarc; b=bzORhuQkee+BA/lS41Yi0SEKRZrBaGDIcQ0ggLJ/Je+GcueR6Z1Fq8GgYPUI5hPjLqZyXBZHGbUO5YCOwv6WLkjhErdG7AZAy/qjfSmXoqu2IQ0RqbYCCZLL9rTpvsPmbA3ZK4QMF4blpUtlOCvRrNnTPN1aRnHzXZwdpuiBj74= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1676887270; h=Content-Type:Content-Transfer-Encoding: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; bh=Jwic3gzySQktDGrW/cYZKSOXGo9CqCG5Vl2GCzj5K2M=; b=X4E656GF3S18dRbbfoeyNtnfmrwAA+VBaBfP86+IcuzxcuD42Yj0soaLTkec/JOGi45Uw2jby/iSQyQmXL4EvBlxpC7Kd80BgT8Nud4ha9uywUoVp7fR+PHwes3lie4TMc6KNyEJfPDQZjsInaiC8nRrKciKunOkNbLfGGfsBgY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1676887270641407.587393948568; Mon, 20 Feb 2023 02:01:10 -0800 (PST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-267-oPmfhgu0OLiTRD_Z60Kopg-1; Mon, 20 Feb 2023 05:01:06 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 14E1181172B; Mon, 20 Feb 2023 10:01:03 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 00C05C15BA0; Mon, 20 Feb 2023 10:01:03 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E4CE11946588; Mon, 20 Feb 2023 10:01:02 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 543401946587 for ; Mon, 20 Feb 2023 10:01:01 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 45C681415113; Mon, 20 Feb 2023 10:01:01 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id E02EE140EBF6 for ; Mon, 20 Feb 2023 10:01:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1676887269; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Jwic3gzySQktDGrW/cYZKSOXGo9CqCG5Vl2GCzj5K2M=; b=cMddEep0zs7HUksATda3xoRg2sP5B3ueSVCHmjZ/kmYJrbhZM6bL3NLppr4GAiCMnX2sPp qxqt5oFfaDKOW3MsAJQgrCkWKTadXUFaA2LzSwxjotUWIKdnmQRCkcqbsl2b3SnXyCZikH YkTRow1HULi01ggNEK4yKQkhwudk2Mw= X-MC-Unique: oPmfhgu0OLiTRD_Z60Kopg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 2/4] qemu: Don't overwrite error from qemuSecurityCommandRun() Date: Mon, 20 Feb 2023 11:00:56 +0100 Message-Id: <4e7b5d5cf9351d74048f41d63c0f6c6b2a764bf7.1676887078.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1676887271869100003 Content-Type: text/plain; charset="utf-8"; x-default="true" The usual pattern when starting a helper daemon is: if (qemuSecurityCommandRun(..., &exitstatus, &cmdret) < 0) goto cleanup; if (cmdret < 0 || exitstatus !=3D 0) { virReportError(); goto cleanup; } The only problem with this pattern is that if virCommandRun() fails (i.e. cmdret < 0), then proper error was already reported. But in this pattern we overwrite it (usually with less specific) error. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_dbus.c | 6 ++++-- src/qemu/qemu_passt.c | 6 ++++-- src/qemu/qemu_security.c | 5 +++-- src/qemu/qemu_slirp.c | 6 ++++-- src/qemu/qemu_vhost_user_gpu.c | 6 ++++-- 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/qemu/qemu_dbus.c b/src/qemu/qemu_dbus.c index cb2694795e..a5807527a6 100644 --- a/src/qemu/qemu_dbus.c +++ b/src/qemu/qemu_dbus.c @@ -224,8 +224,10 @@ qemuDBusStart(virQEMUDriver *driver, goto cleanup; =20 if (cmdret < 0 || exitstatus !=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start dbus-daemon. exitstatus: %d"), e= xitstatus); + if (cmdret >=3D 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Could not start dbus-daemon. exitstatus: %d"= ), exitstatus); + } goto cleanup; } =20 diff --git a/src/qemu/qemu_passt.c b/src/qemu/qemu_passt.c index 1217a6a087..53a7cc9605 100644 --- a/src/qemu/qemu_passt.c +++ b/src/qemu/qemu_passt.c @@ -275,8 +275,10 @@ qemuPasstStart(virDomainObj *vm, goto error; =20 if (cmdret < 0 || exitstatus !=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start 'passt': %s"), NULLSTR(errbuf)); + if (cmdret >=3D 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Could not start 'passt': %s"), NULLSTR(errbu= f)); + } goto error; } =20 diff --git a/src/qemu/qemu_security.c b/src/qemu/qemu_security.c index beada669f7..2548fc0ecd 100644 --- a/src/qemu/qemu_security.c +++ b/src/qemu/qemu_security.c @@ -626,10 +626,11 @@ qemuSecurityDomainRestorePathLabel(virQEMUDriver *dri= ver, * @cmdret: pointer to int returning result of virCommandRun * * Run @cmd with seclabels set on it. If @uid and/or @gid are not - * -1 then their value is enforced. + * -1 then their value is enforced. If @cmdret is negative upon + * return, then appropriate error was already reported. * * Returns: 0 on success, - * -1 otherwise. + * -1 otherwise (with error reported). */ int qemuSecurityCommandRun(virQEMUDriver *driver, diff --git a/src/qemu/qemu_slirp.c b/src/qemu/qemu_slirp.c index faf58b0394..1bd45cb06c 100644 --- a/src/qemu/qemu_slirp.c +++ b/src/qemu/qemu_slirp.c @@ -331,8 +331,10 @@ qemuSlirpStart(virDomainObj *vm, goto error; =20 if (cmdret < 0 || exitstatus !=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start 'slirp'. exitstatus: %d"), exits= tatus); + if (cmdret >=3D 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Could not start 'slirp'. exitstatus: %d"), e= xitstatus); + } goto error; } =20 diff --git a/src/qemu/qemu_vhost_user_gpu.c b/src/qemu/qemu_vhost_user_gpu.c index bc5a1dc3ec..a9a5fe3a3e 100644 --- a/src/qemu/qemu_vhost_user_gpu.c +++ b/src/qemu/qemu_vhost_user_gpu.c @@ -157,8 +157,10 @@ int qemuExtVhostUserGPUStart(virQEMUDriver *driver, goto error; =20 if (cmdret < 0 || exitstatus !=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start 'vhost-user-gpu'. exitstatus: %d= "), exitstatus); + if (cmdret >=3D 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Could not start 'vhost-user-gpu'. exitstatus= : %d"), exitstatus); + } goto cleanup; } =20 --=20 2.39.2 From nobody Sat May 4 05:29:00 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1676887274; cv=none; d=zohomail.com; s=zohoarc; b=HJEwTxi1njbuEcpijoW3fmXuwFKoai3HA6pltrExVoNRQzZOP6v/1rB/mU5ayvI+f4CLK8aWtXEWk/ESCjZVgoD5nhaw4yiHiaA/g8fa//zbLiyW/38OG8oOWAxu2ZB2+Gu8HmUNhBKAE+0HMibMlfKGsMfxC2bfTE+ZflnRkaA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1676887274; h=Content-Type:Content-Transfer-Encoding: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; bh=f15QNsaIYUP3cNMCcD/yYxp2W40L9eq3yH9i4wKFWWc=; b=Tlc/lfFTvOxVMyEsy1KPMyaJzh8peBr8UZMU75K8FNNT4esFWyHflbWjs2sYPXu4YIddQ7p4DyS8FCzU1nifZOl+NpJUN8z1QkxZ2371iel5lW4mnEbDQlEEMCyVtzAv7Zqsyu7T6ZZxzEnf3LeKIBTGOW3HlCqd5jODSBSNnRI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 167688727495453.09966581264496; Mon, 20 Feb 2023 02:01:14 -0800 (PST) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-662-K2sNZqGKO1GYZYYeGsNzrg-1; Mon, 20 Feb 2023 05:01:09 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 686CD3C21C25; Mon, 20 Feb 2023 10:01:05 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 52F8F2026D68; Mon, 20 Feb 2023 10:01:05 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 3CBEE1946588; Mon, 20 Feb 2023 10:01:05 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E22E319466DF for ; Mon, 20 Feb 2023 10:01:01 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id D6AF91415113; Mon, 20 Feb 2023 10:01:01 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7C50B140EBF6 for ; Mon, 20 Feb 2023 10:01:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1676887273; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=f15QNsaIYUP3cNMCcD/yYxp2W40L9eq3yH9i4wKFWWc=; b=gC4ZxjjzRKT0EIXARgnEym1EiY6QQSKjfMtwwGEn0sIYF9xCbqOA8hSzLnjrrjLrSb6sAM Otmz5sfHVJSTPYaP4NPjJaQSi8ia/LPWcrPN4kzsbdnfyIp58Lb3uN1UJt585KrqBgruuu omHpicMLQnK/ImQWiMT6AD5SHtk3iN4= X-MC-Unique: K2sNZqGKO1GYZYYeGsNzrg-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 3/4] qemu: Drop @cmdret argument from qemuSecurityCommandRun() Date: Mon, 20 Feb 2023 11:00:57 +0100 Message-Id: <673564285fa5ce7668498f8377dc82cce128d561.1676887078.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1676887275937100009 Content-Type: text/plain; charset="utf-8"; x-default="true" Every single caller of qemuSecurityCommandRun() calls the function as: if (qemuSecurityCommandRun(..., &cmdret) < 0) goto cleanup; if (cmdret < 0) goto cleanup; (modulo @exitstatus shenanigans) Well, there's no need for such complication. There isn't a single caller (and probably will never be (TM)), that would need to distinguish the reason for the failure. Therefore, qemuSecurityCommandRun() can be made to pass the retval of virCommandRun() called under the hood. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_dbus.c | 12 ++++-------- src/qemu/qemu_passt.c | 11 ++++------- src/qemu/qemu_security.c | 12 +++++------- src/qemu/qemu_security.h | 3 +-- src/qemu/qemu_slirp.c | 11 ++++------- src/qemu/qemu_tpm.c | 9 +-------- src/qemu/qemu_vhost_user_gpu.c | 12 +++++------- 7 files changed, 24 insertions(+), 46 deletions(-) diff --git a/src/qemu/qemu_dbus.c b/src/qemu/qemu_dbus.c index a5807527a6..74cb5457ea 100644 --- a/src/qemu/qemu_dbus.c +++ b/src/qemu/qemu_dbus.c @@ -182,7 +182,6 @@ qemuDBusStart(virQEMUDriver *driver, virTimeBackOffVar timebackoff; const unsigned long long timeout =3D 500 * 1000; /* ms */ VIR_AUTOCLOSE errfd =3D -1; - int cmdret =3D 0; int exitstatus =3D 0; pid_t cpid =3D -1; int ret =3D -1; @@ -219,15 +218,12 @@ qemuDBusStart(virQEMUDriver *driver, virCommandDaemonize(cmd); virCommandAddArgFormat(cmd, "--config-file=3D%s", configfile); =20 - if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, - &exitstatus, &cmdret) < 0) + if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus) < 0) goto cleanup; =20 - if (cmdret < 0 || exitstatus !=3D 0) { - if (cmdret >=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start dbus-daemon. exitstatus: %d"= ), exitstatus); - } + if (exitstatus !=3D 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Could not start dbus-daemon. exitstatus: %d"), e= xitstatus); goto cleanup; } =20 diff --git a/src/qemu/qemu_passt.c b/src/qemu/qemu_passt.c index 53a7cc9605..81b7917026 100644 --- a/src/qemu/qemu_passt.c +++ b/src/qemu/qemu_passt.c @@ -159,7 +159,6 @@ qemuPasstStart(virDomainObj *vm, char macaddr[VIR_MAC_STRING_BUFLEN]; size_t i; int exitstatus =3D 0; - int cmdret =3D 0; =20 cmd =3D virCommandNew(PASST); =20 @@ -271,14 +270,12 @@ qemuPasstStart(virDomainObj *vm, if (qemuExtDeviceLogCommand(driver, vm, cmd, "passt") < 0) return -1; =20 - if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus, &cmdr= et) < 0) + if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus) < 0) goto error; =20 - if (cmdret < 0 || exitstatus !=3D 0) { - if (cmdret >=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start 'passt': %s"), NULLSTR(errbu= f)); - } + if (exitstatus !=3D 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Could not start 'passt': %s"), NULLSTR(errbuf)); goto error; } =20 diff --git a/src/qemu/qemu_security.c b/src/qemu/qemu_security.c index 2548fc0ecd..07fcffb288 100644 --- a/src/qemu/qemu_security.c +++ b/src/qemu/qemu_security.c @@ -623,11 +623,9 @@ qemuSecurityDomainRestorePathLabel(virQEMUDriver *driv= er, * @uid: the uid to force * @gid: the gid to force * @existstatus: pointer to int returning exit status of process - * @cmdret: pointer to int returning result of virCommandRun * * Run @cmd with seclabels set on it. If @uid and/or @gid are not - * -1 then their value is enforced. If @cmdret is negative upon - * return, then appropriate error was already reported. + * -1 then their value is enforced. * * Returns: 0 on success, * -1 otherwise (with error reported). @@ -638,11 +636,11 @@ qemuSecurityCommandRun(virQEMUDriver *driver, virCommand *cmd, uid_t uid, gid_t gid, - int *exitstatus, - int *cmdret) + int *exitstatus) { g_autoptr(virQEMUDriverConfig) cfg =3D virQEMUDriverGetConfig(driver); qemuDomainObjPrivate *priv =3D vm->privateData; + int ret =3D -1; =20 if (virSecurityManagerSetChildProcessLabel(driver->securityManager, vm->def, cmd) < 0) @@ -664,9 +662,9 @@ qemuSecurityCommandRun(virQEMUDriver *driver, if (virSecurityManagerPreFork(driver->securityManager) < 0) return -1; =20 - *cmdret =3D virCommandRun(cmd, exitstatus); + ret =3D virCommandRun(cmd, exitstatus); =20 virSecurityManagerPostFork(driver->securityManager); =20 - return 0; + return ret; } diff --git a/src/qemu/qemu_security.h b/src/qemu/qemu_security.h index 8d1c6b38c3..dc8e67cc81 100644 --- a/src/qemu/qemu_security.h +++ b/src/qemu/qemu_security.h @@ -115,8 +115,7 @@ int qemuSecurityCommandRun(virQEMUDriver *driver, virCommand *cmd, uid_t uid, gid_t gid, - int *exitstatus, - int *cmdret); + int *exitstatus); =20 /* Please note that for these APIs there is no wrapper yet. Do NOT blindly= add * new APIs here. If an API can touch a file add a proper wrapper instead. diff --git a/src/qemu/qemu_slirp.c b/src/qemu/qemu_slirp.c index 1bd45cb06c..bbe919f37a 100644 --- a/src/qemu/qemu_slirp.c +++ b/src/qemu/qemu_slirp.c @@ -248,7 +248,6 @@ qemuSlirpStart(virDomainObj *vm, pid_t pid =3D (pid_t) -1; int rc; int exitstatus =3D 0; - int cmdret =3D 0; bool killDBusDaemon =3D false; g_autofree char *fdname =3D g_strdup_printf("slirpfd-%s", net->info.al= ias); =20 @@ -327,14 +326,12 @@ qemuSlirpStart(virDomainObj *vm, if (qemuExtDeviceLogCommand(driver, vm, cmd, "slirp") < 0) goto error; =20 - if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus, &cmdr= et) < 0) + if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus) < 0) goto error; =20 - if (cmdret < 0 || exitstatus !=3D 0) { - if (cmdret >=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start 'slirp'. exitstatus: %d"), e= xitstatus); - } + if (exitstatus !=3D 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Could not start 'slirp'. exitstatus: %d"), exits= tatus); goto error; } =20 diff --git a/src/qemu/qemu_tpm.c b/src/qemu/qemu_tpm.c index 5831ffc32e..982e5f13b6 100644 --- a/src/qemu/qemu_tpm.c +++ b/src/qemu/qemu_tpm.c @@ -927,7 +927,6 @@ qemuTPMEmulatorStart(virQEMUDriver *driver, virTimeBackOffVar timebackoff; const unsigned long long timeout =3D 1000; /* ms */ bool setTPMStateLabel =3D true; - int cmdret =3D 0; pid_t pid =3D -1; =20 cfg =3D virQEMUDriverGetConfig(driver); @@ -963,15 +962,9 @@ qemuTPMEmulatorStart(virQEMUDriver *driver, return -1; =20 if (qemuSecurityCommandRun(driver, vm, cmd, cfg->swtpm_user, - cfg->swtpm_group, NULL, &cmdret) < 0) + cfg->swtpm_group, NULL) < 0) goto error; =20 - if (cmdret < 0) { - /* virCommandRun() hidden in qemuSecurityCommandRun() - * already reported error. */ - goto error; - } - if (virPidFileReadPath(pidfile, &pid) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("swtpm didn't show up")); diff --git a/src/qemu/qemu_vhost_user_gpu.c b/src/qemu/qemu_vhost_user_gpu.c index a9a5fe3a3e..196ebc7dff 100644 --- a/src/qemu/qemu_vhost_user_gpu.c +++ b/src/qemu/qemu_vhost_user_gpu.c @@ -105,7 +105,7 @@ int qemuExtVhostUserGPUStart(virQEMUDriver *driver, g_autofree char *pidfile =3D NULL; g_autoptr(virCommand) cmd =3D NULL; int pair[2] =3D { -1, -1 }; - int cmdret =3D 0, rc; + int rc; int exitstatus =3D 0; pid_t pid; int ret =3D -1; @@ -153,14 +153,12 @@ int qemuExtVhostUserGPUStart(virQEMUDriver *driver, virCommandAddArgFormat(cmd, "--render-node=3D%s", video->accel= ->rendernode); } =20 - if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus, &cmdr= et) < 0) + if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus) < 0) goto error; =20 - if (cmdret < 0 || exitstatus !=3D 0) { - if (cmdret >=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start 'vhost-user-gpu'. exitstatus= : %d"), exitstatus); - } + if (exitstatus !=3D 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Could not start 'vhost-user-gpu'. exitstatus: %d= "), exitstatus); goto cleanup; } =20 --=20 2.39.2 From nobody Sat May 4 05:29:00 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1676887272; cv=none; d=zohomail.com; s=zohoarc; b=MBQsyLam8PH5BvWtaJTbEVwyx3Gz5h47+riILBqRWTsdJsc8CZacQbkTUfpGnhUrU4UiS7iTokktkJyK3I/zPfhp76hO4rxAyUUeHQyjkqRVA6FPH16OR+vBLtmyYLF3/OuFRd0SxyUjI2B0n//Bm+TYFKGuBSuPMx9hOdX6eIo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1676887272; h=Content-Type:Content-Transfer-Encoding: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; bh=mohsTRlP5fU0Wkoy+7spWovusFdb+LLaQRzs41mHXMM=; b=V8RFzpyPfDI3Io5L6OFAGZts9SbUk8zY3Slm5dtGzK06C0lGTDZ8D004R+P6WQ+axIDYCeec3heVEREz6kzugrBwPCfwDaQZNadaT1YJ3kiAnpEfPbSskmubS4Ov3IRoV8mI4qtRltP9W+h/fbj2gHm2yx663QTo0OyS6ZZUEpA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1676887272456967.7374097991454; Mon, 20 Feb 2023 02:01:12 -0800 (PST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-297-UgY2nmIcOny7NTr_sNNhzA-1; Mon, 20 Feb 2023 05:01:09 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3F28B802D32; Mon, 20 Feb 2023 10:01:04 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2B054492B00; Mon, 20 Feb 2023 10:01:04 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 112101946588; Mon, 20 Feb 2023 10:01:04 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 8D2931946588 for ; Mon, 20 Feb 2023 10:01:02 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 71C7F1415113; Mon, 20 Feb 2023 10:01:02 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 18A33140EBF6 for ; Mon, 20 Feb 2023 10:01:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1676887271; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=mohsTRlP5fU0Wkoy+7spWovusFdb+LLaQRzs41mHXMM=; b=ePpLzw62Qxs7VY14cGNAEJgBXb1c6sXZsWUYGvuhaxQg9cPNpd5tdy/FBESLPPSKCF1y5f 9SixblFnsgjJGyGGMUqqRlDfrPo906dsOP/CUAI+4/AIhDufJhsMIZIPPgk7yQ1SH8b4pV gfC3C/SFoM4QqJtte+uFz0T5C7hHHlw= X-MC-Unique: UgY2nmIcOny7NTr_sNNhzA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 4/4] qemu: Let virCommand module translate exitstatus Date: Mon, 20 Feb 2023 11:00:58 +0100 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1676887273841100007 Content-Type: text/plain; charset="utf-8"; x-default="true" When starting (some) external helpers, callers of qemuSecurityCommandRun() pass &exitstatus variable, to learn the exit code of helper process (with qemuTPMEmulatorStart() being the only exception). Then, if the status wasn't zero they produce a generic error message, like: "Starting of helper process failed. exitstatus=3D%d" or, in case of qemuPasstStart(): "Could not start 'passt': %s" This is needless as virCommandRun() (that's called under the hood), can do both for us, if NULL was passed instead of @exitstatus. Not only it appends exit status, it also reads stderr of failed command producing comprehensive error message: Child process (${args}) unexpected exit status ${exitstatus}: ${stderr} Therefore, pass NULL everywhere. But in contrast with one of previous commits which removed @cmdret argument, there could be a sensible caller which might want to process exit code. So keep the argument for now and just pass NULL. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_dbus.c | 9 +-------- src/qemu/qemu_passt.c | 11 +---------- src/qemu/qemu_security.c | 2 +- src/qemu/qemu_slirp.c | 9 +-------- src/qemu/qemu_vhost_user_gpu.c | 9 +-------- 5 files changed, 5 insertions(+), 35 deletions(-) diff --git a/src/qemu/qemu_dbus.c b/src/qemu/qemu_dbus.c index 74cb5457ea..a6dc802637 100644 --- a/src/qemu/qemu_dbus.c +++ b/src/qemu/qemu_dbus.c @@ -182,7 +182,6 @@ qemuDBusStart(virQEMUDriver *driver, virTimeBackOffVar timebackoff; const unsigned long long timeout =3D 500 * 1000; /* ms */ VIR_AUTOCLOSE errfd =3D -1; - int exitstatus =3D 0; pid_t cpid =3D -1; int ret =3D -1; =20 @@ -218,15 +217,9 @@ qemuDBusStart(virQEMUDriver *driver, virCommandDaemonize(cmd); virCommandAddArgFormat(cmd, "--config-file=3D%s", configfile); =20 - if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus) < 0) + if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, NULL) < 0) goto cleanup; =20 - if (exitstatus !=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start dbus-daemon. exitstatus: %d"), e= xitstatus); - goto cleanup; - } - if (virPidFileReadPath(pidfile, &cpid) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("dbus-daemon %s didn't show up"), diff --git a/src/qemu/qemu_passt.c b/src/qemu/qemu_passt.c index 81b7917026..9eb8cb9834 100644 --- a/src/qemu/qemu_passt.c +++ b/src/qemu/qemu_passt.c @@ -155,15 +155,12 @@ qemuPasstStart(virDomainObj *vm, g_autofree char *passtSocketName =3D qemuPasstCreateSocketPath(vm, net= ); g_autoptr(virCommand) cmd =3D NULL; g_autofree char *pidfile =3D qemuPasstCreatePidFilename(vm, net); - g_autofree char *errbuf =3D NULL; char macaddr[VIR_MAC_STRING_BUFLEN]; size_t i; - int exitstatus =3D 0; =20 cmd =3D virCommandNew(PASST); =20 virCommandClearCaps(cmd); - virCommandSetErrorBuffer(cmd, &errbuf); =20 virCommandAddArgList(cmd, "--one-off", @@ -270,15 +267,9 @@ qemuPasstStart(virDomainObj *vm, if (qemuExtDeviceLogCommand(driver, vm, cmd, "passt") < 0) return -1; =20 - if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus) < 0) + if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, NULL) < 0) goto error; =20 - if (exitstatus !=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start 'passt': %s"), NULLSTR(errbuf)); - goto error; - } - return 0; =20 error: diff --git a/src/qemu/qemu_security.c b/src/qemu/qemu_security.c index 07fcffb288..ee03e2225e 100644 --- a/src/qemu/qemu_security.c +++ b/src/qemu/qemu_security.c @@ -622,7 +622,7 @@ qemuSecurityDomainRestorePathLabel(virQEMUDriver *drive= r, * @cmd: the command to run * @uid: the uid to force * @gid: the gid to force - * @existstatus: pointer to int returning exit status of process + * @existstatus: optional pointer to int returning exit status of process * * Run @cmd with seclabels set on it. If @uid and/or @gid are not * -1 then their value is enforced. diff --git a/src/qemu/qemu_slirp.c b/src/qemu/qemu_slirp.c index bbe919f37a..9697542cd3 100644 --- a/src/qemu/qemu_slirp.c +++ b/src/qemu/qemu_slirp.c @@ -247,7 +247,6 @@ qemuSlirpStart(virDomainObj *vm, size_t i; pid_t pid =3D (pid_t) -1; int rc; - int exitstatus =3D 0; bool killDBusDaemon =3D false; g_autofree char *fdname =3D g_strdup_printf("slirpfd-%s", net->info.al= ias); =20 @@ -326,15 +325,9 @@ qemuSlirpStart(virDomainObj *vm, if (qemuExtDeviceLogCommand(driver, vm, cmd, "slirp") < 0) goto error; =20 - if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus) < 0) + if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, NULL) < 0) goto error; =20 - if (exitstatus !=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start 'slirp'. exitstatus: %d"), exits= tatus); - goto error; - } - rc =3D virPidFileReadPath(pidfile, &pid); if (rc < 0) { virReportSystemError(-rc, diff --git a/src/qemu/qemu_vhost_user_gpu.c b/src/qemu/qemu_vhost_user_gpu.c index 196ebc7dff..5b49ef4e28 100644 --- a/src/qemu/qemu_vhost_user_gpu.c +++ b/src/qemu/qemu_vhost_user_gpu.c @@ -106,7 +106,6 @@ int qemuExtVhostUserGPUStart(virQEMUDriver *driver, g_autoptr(virCommand) cmd =3D NULL; int pair[2] =3D { -1, -1 }; int rc; - int exitstatus =3D 0; pid_t pid; int ret =3D -1; =20 @@ -153,15 +152,9 @@ int qemuExtVhostUserGPUStart(virQEMUDriver *driver, virCommandAddArgFormat(cmd, "--render-node=3D%s", video->accel= ->rendernode); } =20 - if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, &exitstatus) < 0) + if (qemuSecurityCommandRun(driver, vm, cmd, -1, -1, NULL) < 0) goto error; =20 - if (exitstatus !=3D 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Could not start 'vhost-user-gpu'. exitstatus: %d= "), exitstatus); - goto cleanup; - } - rc =3D virPidFileReadPath(pidfile, &pid); if (rc < 0) { virReportSystemError(-rc, --=20 2.39.2