From nobody Sat May 18 13:36:55 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1678877556; cv=none; d=zohomail.com; s=zohoarc; b=XK3uxr8rBcrveupdLzhskXBGqIpIjNK5avJBOtbzx4+Xj+KVjojZUrbjm7EWkxGYw3omC2jzbZm/MC4qvOcCMNmFyx7gbXZESXWDOqsvFKJktUzRfsSNhG8QTqopTsatHOCI1Hho65Xmyac0uIb9yViX3tzLP+Rc2I6obxniJNo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1678877556; 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; bh=Y484XF/5n9dTTC4P4cElC5+o2eYunuK0zMCqjMK2Nk4=; b=lZgKhDb3o24w/Ivoiicy//cBXGcFbfK4TeWe2UTs5RKKN7yGe0OvOyRfKFjLa5VnAouKJfs+Kiwcxw+JVZ43VHs9Z4qVrs7nKdRjFQ8xEMEz78aCakIbdSCrCrAgDWc/6d+qmnFcX/2+kHWRWe3aK1uZotu9ecVJVvbH1+TGxkA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1678877556861224.64572934449666; Wed, 15 Mar 2023 03:52:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcOjf-0006th-8D; Wed, 15 Mar 2023 06:51:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcOjb-0006rI-Ja for qemu-devel@nongnu.org; Wed, 15 Mar 2023 06:51:55 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcOja-0000xy-6f for qemu-devel@nongnu.org; Wed, 15 Mar 2023 06:51:55 -0400 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-201-qJHzc8clOaqr1KX36nq0MQ-1; Wed, 15 Mar 2023 06:51:52 -0400 Received: by mail-wr1-f70.google.com with SMTP id o3-20020a5d6483000000b002cc4fe0f7fcso3113408wri.7 for ; Wed, 15 Mar 2023 03:51:52 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:9af8:e5f5:7516:fa89]) by smtp.gmail.com with ESMTPSA id e4-20020a5d5004000000b002ceaeb24c0asm4322227wrt.58.2023.03.15.03.51.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Mar 2023 03:51:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1678877513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Y484XF/5n9dTTC4P4cElC5+o2eYunuK0zMCqjMK2Nk4=; b=Ll6Eq83IaI6BsOMkswk0J/5qpTghAgI3x0Qs29Ltfkm7Ac6BNQPhBR/zYRphPccG9K70Sp mjwajLSmYKUXdIXYJ+mDbIxc9y6Q5D2EkDqwJStaKufbWERdFpWfgWLxhocD6XVzGSUWMD CNSCzE8SEZT8bTwkN2+16iKr3JwItZg= X-MC-Unique: qJHzc8clOaqr1KX36nq0MQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678877511; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Y484XF/5n9dTTC4P4cElC5+o2eYunuK0zMCqjMK2Nk4=; b=uaDI0Fk7I2hGwp3dL1OBkgZIPbv6UfRGPjMEuHxQQdpTcgpLKGN+M3TqpoUuD06YiF 9LQjFXDwkHGnxFL5YbA/Pn0zHnuY5Tc30+uUsTwUu1MPdcTZqrBoTnfQxMb77vvI3w1J hxQrUv8Y1mT1D9nbWUBhJw7vFexdPDCpwOe8nMNRa/WH5rIllGqlX8I2l1jgk7CYcLhU uT5/TSFt2Cyf0pN4Y0toXW9h0Lm0EtCYo9yrisF3ng3koE9HilUPPRz01pO7dU7nfBum Q0bWIhaGFcz7dbVUQQwqzqFcIVh1bdfazdHdPCyvZ56j+J+tOYd180VsNVu1JlW2mJzU JvJQ== X-Gm-Message-State: AO0yUKXa/FwB/PwN5tfPphL9onFfD3fy43yl+hnu1y6/iDTagTjeTFFC q1WrObQne0anY4mat+JcfLeAeo00cIBw3kDBZrQQuaPXxkh9+v+M7A7/PABkkSM45sxDTel07gG YNsht/RDRflKAbBdRgm4KaoQYJ1f195vP2x1bHIh21pulxbH6YS9ZcyY14ytEBlDbd9FM6yOZG6 0= X-Received: by 2002:a05:600c:a46:b0:3ed:276d:81a4 with SMTP id c6-20020a05600c0a4600b003ed276d81a4mr8945348wmq.32.1678877511258; Wed, 15 Mar 2023 03:51:51 -0700 (PDT) X-Google-Smtp-Source: AK7set+BDQZe1JvhH6NGpeAE1G99m9Yf4Rlswlu7CdSRZAJOdNSPaElvS0YefBwbQhYeYxo7v2f7MA== X-Received: by 2002:a05:600c:a46:b0:3ed:276d:81a4 with SMTP id c6-20020a05600c0a4600b003ed276d81a4mr8945330wmq.32.1678877510856; Wed, 15 Mar 2023 03:51:50 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Miroslav Rezanina , David Woodhouse Subject: [PULL 1/4] Fix build without CONFIG_XEN_EMU Date: Wed, 15 Mar 2023 11:51:45 +0100 Message-Id: <20230315105148.611544-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315105148.611544-1-pbonzini@redhat.com> References: <20230315105148.611544-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1678877557308100001 Content-Type: text/plain; charset="utf-8" From: Miroslav Rezanina Upstream commit ddf0fd9ae1 "hw/xen: Support HVM_PARAM_CALLBACK_TYPE_GSI cal= lback" added kvm_xen_maybe_deassert_callback usage to target/i386/kvm/kvm.c file w= ithout conditional preprocessing check. This breaks any build not using CONFIG_XEN= _EMU. Protect call by conditional preprocessing to allow build without CONFIG_XEN= _EMU. Signed-off-by: Miroslav Rezanina Reviewed-by: David Woodhouse Message-Id: <20230308130557.2420-1-mrezanin@redhat.com> Signed-off-by: Paolo Bonzini --- target/i386/kvm/kvm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 1aef54f87e64..de531842f6b1 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -4991,6 +4991,7 @@ MemTxAttrs kvm_arch_post_run(CPUState *cpu, struct kv= m_run *run) kvm_rate_limit_on_bus_lock(); } =20 +#ifdef CONFIG_XEN_EMU =20 /* * If the callback is asserted as a GSI (or PCI INTx) then check if * vcpu_info->evtchn_upcall_pending has been cleared, and deassert @@ -5001,6 +5002,7 @@ MemTxAttrs kvm_arch_post_run(CPUState *cpu, struct kv= m_run *run) if (x86_cpu->env.xen_callback_asserted) { kvm_xen_maybe_deassert_callback(cpu); } +#endif =20 /* We need to protect the apic state against concurrent accesses from * different threads in case the userspace irqchip is used. */ --=20 2.39.2 From nobody Sat May 18 13:36:55 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1678877571; cv=none; d=zohomail.com; s=zohoarc; b=lonFj/0Igeo/S+ZRawvJPawFUlA3/fGgGa+SZEdYbQVIHkqU+CMzq668afPhjfCrfKvpaNzM+uSXGPebN989jCBYthKtHA+t2x+GZjVndbpnj6Q08QvJcezPf42QnMJAZ1MvqTCG84H6gFL3FGbj6ZbDteYnpDd/qiFV4AIqZvs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1678877571; 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=7YJ5CgJHMu11RD6rsTxr3Ks9e+KTCRMoe+scs1Qjt9c=; b=jGBZA14jG8Ulxza+zg9i7O65iTQA5BLsQEtIYIqXKb9gtOGZpOzRxiNSyZerKFumPSt17n1820lbFzLbMaR+AEK7Ihp7Qxu9ndeRj7fnyfP/2u4uqrxINdUdbknoD0FVnw+P8PdnwOv6qyDx3Yt+2aHbNVZysei35PanVHLWsx0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1678877571692568.7646093454141; Wed, 15 Mar 2023 03:52:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcOjf-0006tq-NT; Wed, 15 Mar 2023 06:51:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcOjd-0006rl-BQ for qemu-devel@nongnu.org; Wed, 15 Mar 2023 06:51:57 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcOjb-0000yC-VQ for qemu-devel@nongnu.org; Wed, 15 Mar 2023 06:51:57 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-515-v2R3QmgZPK-v1fYMKSxPrQ-1; Wed, 15 Mar 2023 06:51:54 -0400 Received: by mail-wr1-f72.google.com with SMTP id h18-20020adfa4d2000000b002cea098a651so1932927wrb.3 for ; Wed, 15 Mar 2023 03:51:53 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:9af8:e5f5:7516:fa89]) by smtp.gmail.com with ESMTPSA id l4-20020a1c7904000000b003ed1ff06faasm1414488wme.19.2023.03.15.03.51.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Mar 2023 03:51:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1678877515; h=from:from: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; bh=7YJ5CgJHMu11RD6rsTxr3Ks9e+KTCRMoe+scs1Qjt9c=; b=KwE6oaT1lO/tNgM+lMEv2IWDgoEADPve2Y9c4b/q3m03HVg6K2ebUmuycRPoYVFa1yc/p9 13iu01M8ZflK1L8BUi1eXpJPNA3ECceVl8nHLNiucL0ucaXTDNeZvLAhuP93irRLHHGcc0 0yZUkKHVlevebL/uTHfWvHOmTBRqHwA= X-MC-Unique: v2R3QmgZPK-v1fYMKSxPrQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678877512; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7YJ5CgJHMu11RD6rsTxr3Ks9e+KTCRMoe+scs1Qjt9c=; b=bIHcKxQuvcp+4s1auzNObBkW4k8tzcN08O9qekHQb0CqIzX4p9bdRqJlJeYJRGDGvC 5akENLP92IIgHuK8nwMNDui3VL+B43TkK2M/sf3ehTnkTQEvTvSVd3OM44S8A8EEXaQ8 85w4S3V0xKN3tJ2ACg67lp6aKnxxinwZiVI80RZ7YTEsr9WONdXqOWtc18mSKVUgW2Ih NWNytylxwKOQqjjGqjxsgmT6grho1xmI+SoClyNgXifivk6UgdSHPpM4dIa2cBYJdQA8 GQgZv6OV+FIBQK4Zqot4uuqgNQ/3jZmeJJ8MH7dM6mL87T5RrYYCYCZgaUVRCyIcDaW2 Q7Dg== X-Gm-Message-State: AO0yUKXuF4uwrxApEiGm/2afzHmnb2dsdM/byuWjrE0qUzMo4KEAlpuN 7JA1mamx7fKUcfW6bEmTCCLBULAxn8cR8Qao6BOq1Q3334p9+NEptHzHZkOfmIdBULXVimBafF7 rWKyxejMMN8wUcq4WO/rL09HCDxdu77cU5F0swaofpuwO2ZsNnWxgpcl7QLij8izQEsg/ZbeATK A= X-Received: by 2002:a05:600c:46d3:b0:3e2:a9e:4eaa with SMTP id q19-20020a05600c46d300b003e20a9e4eaamr17779852wmo.35.1678877512677; Wed, 15 Mar 2023 03:51:52 -0700 (PDT) X-Google-Smtp-Source: AK7set/jH14/cegzZFIURm95fQy8ySMKJcRB3vWHjpAGazKzLkYtd9SSj8VeQ49xMkEv3bQYnEEhlg== X-Received: by 2002:a05:600c:46d3:b0:3e2:a9e:4eaa with SMTP id q19-20020a05600c46d300b003e20a9e4eaamr17779835wmo.35.1678877512303; Wed, 15 Mar 2023 03:51:52 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 2/4] docs/devel: clarify further the semantics of RMW operations Date: Wed, 15 Mar 2023 11:51:46 +0100 Message-Id: <20230315105148.611544-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315105148.611544-1-pbonzini@redhat.com> References: <20230315105148.611544-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1678877573445100003 Content-Type: text/plain; charset="utf-8" --- docs/devel/atomics.rst | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/devel/atomics.rst b/docs/devel/atomics.rst index 633df65a97bc..81ec26be1771 100644 --- a/docs/devel/atomics.rst +++ b/docs/devel/atomics.rst @@ -469,13 +469,19 @@ and memory barriers, and the equivalents in QEMU: In QEMU, the second kind is named ``atomic_OP_fetch``. =20 - different atomic read-modify-write operations in Linux imply - a different set of memory barriers; in QEMU, all of them enforce - sequential consistency. + a different set of memory barriers. In QEMU, all of them enforce + sequential consistency: there is a single order in which the + program sees them happen. =20 -- in QEMU, ``qatomic_read()`` and ``qatomic_set()`` do not participate in - the ordering enforced by read-modify-write operations. - This is because QEMU uses the C11 memory model. The following example - is correct in Linux but not in QEMU: +- however, according to the C11 memory model that QEMU uses, this order + does not propagate to other memory accesses on either side of the + read-modify-write operation. As far as those are concerned, the + operation consist of just a load-acquire followed by a store-release. + Stores that precede the RMW operation, and loads that follow it, can + still be reordered and will happen *in the middle* of the read-modify-wr= ite + operation! + + Therefore, the following example is correct in Linux but not in QEMU: =20 +----------------------------------+--------------------------------+ | Linux (correct) | QEMU (incorrect) | --=20 2.39.2 From nobody Sat May 18 13:36:55 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1678877566; cv=none; d=zohomail.com; s=zohoarc; b=YXw649Oo1HTnYyY05iGjMyLtK1ieHPjW+h6Ycbk7GjbcGfG1Frsp15Jf51dQftSaKT9JE5/+Dhsz/ufk+bUwojskxMeMWFbSmp2EVs9fYHmFRkkK5WGvPQ8SgzXgCczYp+pazNXWeQZryKiS/8/QvMbA0APhlYJtpjesWR6VnKw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1678877566; 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; bh=c2VIOEzLZxes85MXleyhO5ZyIaPt2L1Caway/46OBF4=; b=a5/agwptwoQToWJR9PTAgmtT8i/Iueq7mOsbwY9mzxERYkKJXNf4kIsZSA7lVLv6gMh8wscG0iT/P5tearto4onPqc3ddiWW34DeRPWPYlKCmR7js1zrz7v5ORT9cC1/FIuecwsBsTnsoJ36n8MZdgqBgRVz7VDp7hE/u4/X+KA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1678877566230858.7077963169146; Wed, 15 Mar 2023 03:52:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcOjg-0006uE-SW; Wed, 15 Mar 2023 06:52:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcOjf-0006ti-8a for qemu-devel@nongnu.org; Wed, 15 Mar 2023 06:51:59 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcOjd-0000yN-KH for qemu-devel@nongnu.org; Wed, 15 Mar 2023 06:51:59 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-523-dQYxfcsZM8S759oG0ZvxMg-1; Wed, 15 Mar 2023 06:51:55 -0400 Received: by mail-wm1-f69.google.com with SMTP id k20-20020a05600c1c9400b003e2249bd2b4so6595613wms.5 for ; Wed, 15 Mar 2023 03:51:55 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:9af8:e5f5:7516:fa89]) by smtp.gmail.com with ESMTPSA id e18-20020a056000121200b002cf1c435afcsm4269276wrx.11.2023.03.15.03.51.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Mar 2023 03:51:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1678877517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=c2VIOEzLZxes85MXleyhO5ZyIaPt2L1Caway/46OBF4=; b=W70jWpgWKZBIakQWG5lv8zJat6AAWX2597Nn9l4H/b534+UZqI6deqndNkMpWK7bZeLpvq jaT7utsNUUbPPeAqX8AxqMtIZIQPp+C+713Z6ygrJmSnx4DRF/tZmVuVMhdm3o820BLKBb eJmZjpG1XTObAMlw0TQk+B8tibW2RpM= X-MC-Unique: dQYxfcsZM8S759oG0ZvxMg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678877514; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=c2VIOEzLZxes85MXleyhO5ZyIaPt2L1Caway/46OBF4=; b=0N2WF665kc3ByePKvFyqIgmGeT6M860MItwpUdXhsyFCVCitFbxDNf0nQ4lEZnjDGK To5Rpc2A080X5STnQaYzUtINHIKB89nQnpOVoRDwq4tfSw9RDc8Dg5WBVEu2HT0ymaP2 20aXYRaD7dBCatNBTjvWjhkETJZBkI4sARNTvobG0bbrmAIrYmlB9vPhAbUDrGcjo5lr /HojyZtCKM9zqBHJV84yb+LwmDQXScTUqvUNn7+WPJ/mymayI5H8ngllajDLdMUq5A0M TvBcihFt2Lz/BmlaKRSGvtXlWP7rviPtjnA80ucaRFmo99cVXzFI32ksrXpayvia+k+T XQ1w== X-Gm-Message-State: AO0yUKWSAf1FFitnsxag6zNy9pF565cslOBWorH31Vo+0M4XmMbG6SB3 JUkE2PBK3U2eCuQTshWlXtiSBYmFZhg8bOBwa0Hvl2WvrCS7Wcu/Kv6anKC08NgjvrGWlMS+ovl 3sd4k7942Qh2GG6wteahfehfb8W4RmKOvIoGAwVYm5LtetlKdAAeqbpQXpHSI+/N8CzMsV9pmd2 o= X-Received: by 2002:a5d:4692:0:b0:2c7:885:7333 with SMTP id u18-20020a5d4692000000b002c708857333mr1513052wrq.49.1678877513960; Wed, 15 Mar 2023 03:51:53 -0700 (PDT) X-Google-Smtp-Source: AK7set/VmsXy6iYmlSZctmP9LLKWl2gLe5ieAdL3TRWc2es944CGMVcWfNRwsThr3SZeT38rl94n3w== X-Received: by 2002:a5d:4692:0:b0:2c7:885:7333 with SMTP id u18-20020a5d4692000000b002c708857333mr1513039wrq.49.1678877513674; Wed, 15 Mar 2023 03:51:53 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: David Woodhouse , Peter Xu Subject: [PULL 3/4] hw/intc/ioapic: Update KVM routes before redelivering IRQ, on RTE update Date: Wed, 15 Mar 2023 11:51:47 +0100 Message-Id: <20230315105148.611544-4-pbonzini@redhat.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315105148.611544-1-pbonzini@redhat.com> References: <20230315105148.611544-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1678877567331100003 Content-Type: text/plain; charset="utf-8" From: David Woodhouse A Linux guest will perform IRQ migration after the IRQ has happened, updating the RTE to point to the new destination CPU and then unmasking the interrupt. However, when the guest updates the RTE, ioapic_mem_write() calls ioapic_service(), which redelivers the pending level interrupt via kvm_set_irq(), *before* calling ioapic_update_kvm_routes() which sets the new target CPU. Thus, the IRQ which is supposed to go to the new target CPU is instead misdelivered to the previous target. An example where the guest kernel is attempting to migrate from CPU#2 to CPU#0 shows: xenstore_read tx 0 path control/platform-feature-xs_reset_watches ioapic_set_irq vector: 11 level: 1 ioapic_set_remote_irr set remote irr for pin 11 ioapic_service: trigger KVM IRQ 11 [ 0.523627] The affinity mask was 0-3 and the handler is on 2 ioapic_mem_write ioapic mem write addr 0x0 regsel: 0x27 size 0x4 val 0x26 ioapic_update_kvm_routes: update KVM route for IRQ 11: fee02000 8021 ioapic_mem_write ioapic mem write addr 0x10 regsel: 0x26 size 0x4 val 0x180= 21 xenstore_reset_watches ioapic_set_irq vector: 11 level: 1 ioapic_mem_read ioapic mem read addr 0x10 regsel: 0x26 size 0x4 retval 0x1c= 021 [ 0.524569] ioapic_ack_level IRQ 11 moveit =3D 1 ioapic_eoi_broadcast EOI broadcast for vector 33 ioapic_clear_remote_irr clear remote irr for pin 11 vector 33 ioapic_mem_write ioapic mem write addr 0x0 regsel: 0x26 size 0x4 val 0x26 ioapic_mem_read ioapic mem read addr 0x10 regsel: 0x26 size 0x4 retval 0x18= 021 [ 0.525235] ioapic_finish_move IRQ 11 calls irq_move_masked_irq() [ 0.526147] irq_do_set_affinity for IRQ 11, 0 [ 0.526732] ioapic_set_affinity for IRQ 11, 0 [ 0.527330] ioapic_setup_msg_from_msi for IRQ11 target 0 ioapic_mem_write ioapic mem write addr 0x0 regsel: 0x26 size 0x4 val 0x27 ioapic_mem_write ioapic mem write addr 0x10 regsel: 0x27 size 0x4 val 0x0 ioapic_mem_write ioapic mem write addr 0x0 regsel: 0x27 size 0x4 val 0x26 ioapic_mem_write ioapic mem write addr 0x10 regsel: 0x26 size 0x4 val 0x180= 21 [ 0.527623] ioapic_set_affinity returns 0 [ 0.527623] ioapic_finish_move IRQ 11 calls unmask_ioapic_irq() ioapic_mem_write ioapic mem write addr 0x0 regsel: 0x26 size 0x4 val 0x26 ioapic_mem_write ioapic mem write addr 0x10 regsel: 0x26 size 0x4 val 0x8021 ioapic_set_remote_irr set remote irr for pin 11 ioapic_service: trigger KVM IRQ 11 ioapic_update_kvm_routes: update KVM route for IRQ 11: fee00000 8021 [ 0.529571] The affinity mask was 0 and the handler is on 2 [ xenstore_watch path memory/target token FFFFFFFF92847D40 There are no other code paths in ioapic_mem_write() which need the KVM IRQ routing table to be updated, so just shift the call from the end of the function to happen right before the call to ioapic_service() and thus deliver the re-enabled IRQ to the right place. Alternative fixes might have been just to remove the part in ioapic_service() which delivers the IRQ via kvm_set_irq() because surely delivering as MSI ought to work just fine anyway in all cases? That code lacks a comment justifying its existence. Or maybe in the specific case shown in the above log, it would have sufficed for ioapic_update_kvm_routes() to update the route *even* when the IRQ is masked. It's not like it's actually going to get triggered unless QEMU deliberately does so, anyway? But that only works because the target CPU happens to be in the high word of the RTE; if something in the *low* word (vector, perhaps) was changed at the same time as the unmask, we'd still trigger with stale data. Fixes: 15eafc2e602f "kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP" Signed-off-by: David Woodhouse Reviewed-by: Peter Xu Message-Id: <20230308111952.2728440-2-dwmw2@infradead.org> Signed-off-by: Paolo Bonzini --- hw/intc/ioapic.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c index 6364ecab1bc8..716ffc8bbbda 100644 --- a/hw/intc/ioapic.c +++ b/hw/intc/ioapic.c @@ -405,6 +405,7 @@ ioapic_mem_write(void *opaque, hwaddr addr, uint64_t va= l, s->ioredtbl[index] |=3D ro_bits; s->irq_eoi[index] =3D 0; ioapic_fix_edge_remote_irr(&s->ioredtbl[index]); + ioapic_update_kvm_routes(s); ioapic_service(s); } } @@ -417,8 +418,6 @@ ioapic_mem_write(void *opaque, hwaddr addr, uint64_t va= l, ioapic_eoi_broadcast(val); break; } - - ioapic_update_kvm_routes(s); } =20 static const MemoryRegionOps ioapic_io_ops =3D { --=20 2.39.2 From nobody Sat May 18 13:36:55 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1678877561; cv=none; d=zohomail.com; s=zohoarc; b=I8/eXLDdPh0N3d/heVlHCtYr6MWRUw7zTU8kS+PHA9g2TPy5DIyfAE9em96fpBmMCtOz+MVJU4eM64cxp+3y+FlOWKt7uMVPXYwjBPJHzpXz7L+als72xzQQKVVYEU0w7nnGi8LMVkHEI+ze3kI1z8aT05D3H0ZPZtsh4qZWG7o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1678877561; 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; bh=be4dr73QVvNek1LJE5rO0lMLUnb9rLQsctGIME0sdKQ=; b=KlfWl2hT3YDo0BZOpcFtmVu38f9ptLOfm5XUihMlsoPAaMPzvlSHCkpJyZnAxTvRLSDgANcV1Q1WSsSeThTQemOw6n4D6T2HDk9JyUaPb1D5cQQrAeewsKHZkWFuE+Q8yM/4IO7BMWymaG32jVWovbmI9YWQM9kqd2LY3/yJ+2M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 167887756102255.117061035796155; Wed, 15 Mar 2023 03:52:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcOjj-0006uc-OA; Wed, 15 Mar 2023 06:52:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcOjg-0006u6-H8 for qemu-devel@nongnu.org; Wed, 15 Mar 2023 06:52:00 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcOje-0000yX-QD for qemu-devel@nongnu.org; Wed, 15 Mar 2023 06:52:00 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-118-yy_-Rk1HOMCTnvvO5CENig-1; Wed, 15 Mar 2023 06:51:57 -0400 Received: by mail-wr1-f71.google.com with SMTP id g7-20020a5d6987000000b002cea7acd26fso1678508wru.5 for ; Wed, 15 Mar 2023 03:51:56 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:9af8:e5f5:7516:fa89]) by smtp.gmail.com with ESMTPSA id i2-20020a5d55c2000000b002c53f6c7599sm4237836wrw.29.2023.03.15.03.51.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Mar 2023 03:51:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1678877518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=be4dr73QVvNek1LJE5rO0lMLUnb9rLQsctGIME0sdKQ=; b=DAv8CJv+OBFlkWIbVRN8dkYHGF6MWEzEVFqjH+4T606fJcAP3AyHSI35ybD2DCgc9b4iSa ncZ6sPlDRzxe626p21xzG73qSLpT2MtjcU1fu1AYKOjPvSTjS9fm2kmIcAwopK4GOZeuGY rcOf6f8TI7MRJpkwqK3cZiXTwtEG7Uw= X-MC-Unique: yy_-Rk1HOMCTnvvO5CENig-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678877515; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=be4dr73QVvNek1LJE5rO0lMLUnb9rLQsctGIME0sdKQ=; b=h0NtAagZiDBmpv4ndFkyzsUqRPe5KAXyrPaIQNMApju7FOZbVbJ9AbbWVXDmX4OZj8 gHHV3IQBdu1zUIGIZYFBlGvaS6j4hkjhXX1B+5wxKLLM39U2wovCkKoMM5Zjv1xjFrZ/ 3LSKOvLCZo4GZ5W+Ha0b4TTvp2DMPLyV1VuCjpROgt19nl+/LKx2L4UZLW2Fpiz8v4nL 2dsdYDs0ENICVoICC3xUjaf1C8sCZFOPiy/y16jes96DELTI+NrAZop4StmjHXXaTpnb akx5K0VMsVbVpM/v9vwpjf8x3c+dQ5IyR7Q6gJY2C5Brzr/ysshH0Sre4lFll9kqJA0A cFSQ== X-Gm-Message-State: AO0yUKW+FhXGJ5ltrWuowOMsxpwKkSgmCQDCMR9n9D+BRYbA/vAWu3pL VgQsfb4j8gwziFrk+JFEJ9Jzk2LbQphNyjAMpIINroymalqfPEuVOFDarFemFxjPzpOROqRZdJR SN9zYN+uiIcNuoJ/2T9UMbxnWoLDkf+4baboOKm3MrtOAC2aqxxO+9/KllwlxMx/Oct0OWFuqj/ g= X-Received: by 2002:adf:f60f:0:b0:2cf:f061:4913 with SMTP id t15-20020adff60f000000b002cff0614913mr1524305wrp.49.1678877515748; Wed, 15 Mar 2023 03:51:55 -0700 (PDT) X-Google-Smtp-Source: AK7set912jRfgkIgJgq7dTqw6JUy0W3YTNV9CaCUp63qPX8QIlaoaiVDA8tk8cj/DoX6LLuwhMGP8Q== X-Received: by 2002:adf:f60f:0:b0:2cf:f061:4913 with SMTP id t15-20020adff60f000000b002cff0614913mr1524293wrp.49.1678877515460; Wed, 15 Mar 2023 03:51:55 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Fiona Ebner , Dominik Csapak , Thomas Lamprecht , Hanna Reitz Subject: [PULL 4/4] vl: defuse PID file path resolve error Date: Wed, 15 Mar 2023 11:51:48 +0100 Message-Id: <20230315105148.611544-5-pbonzini@redhat.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230315105148.611544-1-pbonzini@redhat.com> References: <20230315105148.611544-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1678877561331100001 Content-Type: text/plain; charset="utf-8" From: Fiona Ebner Commit 85c4bf8aa6 ("vl: Unlink absolute PID file path") introduced a critical error when the PID file path cannot be resolved. Before this commit, it was possible to invoke QEMU when the PID file was a file created with mkstemp that was already unlinked at the time of the invocation. There might be other similar scenarios. It should not be a critical error when the PID file unlink notifier can't be registered, because the path can't be resolved. If the file is already gone from QEMU's perspective, silently ignore the error. Otherwise, only print a warning. Fixes: 85c4bf8aa6 ("vl: Unlink absolute PID file path") Reported-by: Dominik Csapak Suggested-by: Thomas Lamprecht Signed-off-by: Fiona Ebner Reviewed-by: Hanna Reitz Message-Id: <20221031094716.39786-1-f.ebner@proxmox.com> Signed-off-by: Paolo Bonzini --- softmmu/vl.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/softmmu/vl.c b/softmmu/vl.c index 3340f63c3764..ea20b23e4c84 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2465,10 +2465,11 @@ static void qemu_maybe_daemonize(const char *pid_fi= le) =20 pid_file_realpath =3D g_malloc0(PATH_MAX); if (!realpath(pid_file, pid_file_realpath)) { - error_report("cannot resolve PID file path: %s: %s", - pid_file, strerror(errno)); - unlink(pid_file); - exit(1); + if (errno !=3D ENOENT) { + warn_report("not removing PID file on exit: cannot resolve= PID " + "file path: %s: %s", pid_file, strerror(errno)= ); + } + return; } =20 qemu_unlink_pidfile_notifier =3D (struct UnlinkPidfileNotifier) { --=20 2.39.2