From nobody Sun Oct 5 00:14:12 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1758821570; cv=none; d=zohomail.com; s=zohoarc; b=RbY9/OPUxfyqRR71cn8GnPk4gMQFYa7gNiQ9jxLDPdKt/4Gh34eQ1rvXeqHXeHHbl7CoOl0jfieaqNk7eT5LGcaHTLC651lETp/FBF8K2oKG41d2y3fIKBScHsi+RZTISvkKXwiEcCNxBhNB+GmqnERe858rWr/x0nkcek8sXgU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758821570; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=lJQN93XYDlRJVagFaGUlmA6/v9ajxPwm9I/TboQRS6I=; b=O6sUKCTRry5mYBZj+eySM3d1yr6wh6ZaA9Xpprrk4E5RkdOZk8ArK1c/BTRosY+MNzvqdKaQxqcn9jx/YY1bHz9pJt0n4KQAluEBUMYOswjKpDufXuu6jGMwwfXM7DSZrbXQviQmqMevN99tmrU1ZZN6Kg1s2czagiwBqsNTA3w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1758821570706570.0635087981644; Thu, 25 Sep 2025 10:32:50 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 0B9FB43F5B; Thu, 25 Sep 2025 13:32:49 -0400 (EDT) Received: from [172.19.199.14] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id EEEA944019; Thu, 25 Sep 2025 13:31:58 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 3062243EED; Thu, 25 Sep 2025 13:31:49 -0400 (EDT) Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 2FF4B43EC8 for ; Thu, 25 Sep 2025 13:31:47 -0400 (EDT) Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-b3727611c1bso78122666b.1 for ; Thu, 25 Sep 2025 10:31:47 -0700 (PDT) Received: from tulp.my.domain (84-25-144-101.cable.dynamic.v4.ziggo.nl. [84.25.144.101]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b35446f74fbsm202575066b.51.2025.09.25.10.31.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Sep 2025 10:31:44 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758821505; x=1759426305; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=lJQN93XYDlRJVagFaGUlmA6/v9ajxPwm9I/TboQRS6I=; b=YPsSrL8R4x2kXxxibnFdvArMkxLerYEwezfvK73Pj3u5jWF/CVrVpZIz1IoEJgHMxM kjAefU2VeOzShdaatoo3EMccSxxZsiORL9MGBclrkevlt3ZJWw1PlBeqoLLEBuMdQWFM 7xFuR7jAJXwNNfHTPkXfHa/5SwM2g4WBvMu6L9ng1o4fvwo761w8S7WF/YBZPYrwlUAl m+rVbp1HEEhrqRZyzl047m8oOIaMEc3ofU+lQefH30uioQoNfWI8ESr3e34ZHqgNVkOC AxyIez4Ljyo8a94pqe/OyBflml1Ww1yXnyOJQSvJIWqHLhvo9BaXHNn1fbVn7ROrc6YW AUHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758821505; x=1759426305; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=lJQN93XYDlRJVagFaGUlmA6/v9ajxPwm9I/TboQRS6I=; b=aWEi9D7R3L7U8sgl9x0gfg2Ezo4LN39A82gyxHpqKwLYTu7d4l3TUGveJ5nXNg9luq ioFz7S4qI5O0V4WnMurlPToz2hMALiILRqPEBCLLiX6HDhlMRVbIm+MA2pGuu0OTCmtC ySzb/qQHN3T7a72exY+4eedKcu5Y5cUbvKK62td48fwX5r5SrBuQfPaXwEyyqMfuc18/ rUwVCp0yTnsz0lSf2l0+nmepaHFMIrqKVvr959RTSQ1yIn+/OQcYAF5U+RJb4TTFmkjd pP6Fk8SJ/ZtzSy7hjP6bY/4KwABYOeSFGZAZKGAoq9ef4p6LQs6kRTsmbtiz66D2N3Tc u8YA== X-Gm-Message-State: AOJu0YwQCUaaCl7+WQdaMfW3bPyGka541n0Fq0Ie360HcB7lZYihkvGo 0y4IMyKLJNMKWFLcwuMDcTy4xbGTKk7T9W5To00Kho0wktl3kmCGzEtaks7WIKuC6BE= X-Gm-Gg: ASbGncvMv8p6TSUW4ZSgWwuWQnm54Vvi9kmLmjVfT4Con0HB1qZehGXFc+2ZtjeRo7l KQz0I8uLD4LN5v+5AeMmxsCOKTClvC2trbYWnbkDffNuQatfZtI7oIpEawwL9m8rrKBGP0LoYIV c/9Do85gizYgtX/yaD0h9x3PwzZn84VDszcYbfEDz7ulrt2Iuwe50COPWCkBTQZYUjbgpz5jyaH wvWcQ2xyop/tCiuBUBPhf8twWkbmPql1wBy+ahHv4/WNWzrlgfz/P6kOZ7JTyUVqaexz9oLa1+3 +4ci3knMMjCgI5iyyq7BtueYVVJopLEFg9ijeX/PrsFEeGO214DrUTm8cTOv1qFeLvLQ8/6GujO WpyxeTb+nwPFrwkRA4iJsANCYqKYyd84Q36dCj+dEjw7Lk7YN9lgEIvR3XvCZO/ptIpXy X-Google-Smtp-Source: AGHT+IFHi5K0cW9NHZzJ0YJ5GGAXPsd2EUXmkn1kzVxZ/c0od/HCcuWx+UF7h6Mlt5c4kTuvhpT0tA== X-Received: by 2002:a17:907:9495:b0:b0c:1701:bf96 with SMTP id a640c23a62f3a-b34b7ec41c9mr486412866b.28.1758821505247; Thu, 25 Sep 2025 10:31:45 -0700 (PDT) From: Roman Bogorodskiy To: devel@lists.libvirt.org Subject: [PATCH] bhyve: hooks: improve process start error handling Date: Thu, 25 Sep 2025 19:30:23 +0200 Message-ID: <20250925173023.39599-1-bogorodskiy@gmail.com> X-Mailer: git-send-email 2.51.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: DROGRRZGDI7VR222DHJS6BBARR6YO3XR X-Message-ID-Hash: DROGRRZGDI7VR222DHJS6BBARR6YO3XR X-MailFrom: bogorodskiy@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Roman Bogorodskiy X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1758821573636116600 Content-Type: text/plain; charset="utf-8" When the virBhyveProcessStart() fails early, make sure to execute the "stopped" and "release" hooks. Spotted while running TCK hooks tests against the bhyve driver. Signed-off-by: Roman Bogorodskiy Reviewed-by: Martin Kletzander --- src/bhyve/bhyve_process.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/bhyve/bhyve_process.c b/src/bhyve/bhyve_process.c index 4bfd511bae..4fb7e642e1 100644 --- a/src/bhyve/bhyve_process.c +++ b/src/bhyve/bhyve_process.c @@ -413,18 +413,24 @@ virBhyveProcessStart(bhyveConn *driver, { /* Run an early hook to setup missing devices. */ if (bhyveProcessStartHook(driver, vm, VIR_HOOK_BHYVE_OP_PREPARE) < 0) - return -1; + goto cleanup; =20 if (flags & VIR_BHYVE_PROCESS_START_AUTODESTROY) virCloseCallbacksDomainAdd(vm, conn, bhyveProcessAutoDestroy); =20 if (bhyveProcessPrepareDomain(driver, vm, flags) < 0) - return -1; + goto cleanup; =20 if (bhyveProcessPrepareHost(driver, vm->def, flags) < 0) - return -1; + goto cleanup; =20 return virBhyveProcessStartImpl(driver, vm, reason); + + cleanup: + bhyveProcessStopHook(driver, vm, VIR_HOOK_BHYVE_OP_STOPPED); + bhyveProcessStopHook(driver, vm, VIR_HOOK_BHYVE_OP_RELEASE); + + return -1; } =20 static void --=20 2.51.0