From nobody Tue Nov 26 18:13: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=1705678035; cv=none; d=zohomail.com; s=zohoarc; b=GptrOZg4+pVNKbzR6fn22CitI1clNz7Din+U8IyrCZdG9NL2jPBtIUIxvVTzWLpHPup3Rlhy71A/Rt4fE5KErB9q5bWQOu1Mnb1ReJ+Mn136oHlXViZIOq7aoooi7M14jmtd1HpUF3EZ2cHwuT39I6zPUj1bW4pOBktNXI6q94s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1705678035; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=frOfiuPvlXeFwZNxIDBC2vX8XG6P3rdgVHQ3kvF57ag=; b=VtUKBcOiQAssGTPqk4V5q2jV4bgdWYno3Kh4FRMqGCcSf+BmzDHNKqnDN1MjjEirtq2GajglrOclDlsbr1cnjd/qqz5+YmgHz8KkEBG6uUFzXimZYVetzR5v21Um3JqKKeRVit1H282xRk5vEt405PAO9zSnJPsaX+SQ30tPxgA= 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 170567803507022.920530351446246; Fri, 19 Jan 2024 07:27:15 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rQqkE-0002Ip-CS; Fri, 19 Jan 2024 10:25:22 -0500 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 1rQqkC-0002Hs-6U for qemu-devel@nongnu.org; Fri, 19 Jan 2024 10:25:20 -0500 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 1rQqk9-00018n-LH for qemu-devel@nongnu.org; Fri, 19 Jan 2024 10:25:19 -0500 Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-247--Dr-qSCQO3mj77-zUgWAXw-1; Fri, 19 Jan 2024 10:25:12 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0B03A285F9B2; Fri, 19 Jan 2024 15:25:12 +0000 (UTC) Received: from thuth-p1g4.redhat.com (unknown [10.39.192.235]) by smtp.corp.redhat.com (Postfix) with ESMTP id 015F240D1B60; Fri, 19 Jan 2024 15:25:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1705677917; 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=frOfiuPvlXeFwZNxIDBC2vX8XG6P3rdgVHQ3kvF57ag=; b=HASOR2uBtkCQHKMJwXg2qxD9pWTf3o4tb4E1i6rF44SYYrtPsE8Pqs4gczn6FYNKnfr7gY ZrjHNQkkn5vAAY/TtnBOPFRtI32LCkP/sac7qDRlEUVFhVeJECac9JCXOxW3eXLrQcQor7 O6KPlCwtf57ED4SSoNHig4wqW3Dxdwc= X-MC-Unique: -Dr-qSCQO3mj77-zUgWAXw-1 From: Thomas Huth To: qemu-devel@nongnu.org Cc: Peter Maydell , Matthew Rosato , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Eric Farman Subject: [PULL 02/11] s390x/pci: refresh fh before disabling aif Date: Fri, 19 Jan 2024 16:24:58 +0100 Message-ID: <20240119152507.55182-3-thuth@redhat.com> In-Reply-To: <20240119152507.55182-1-thuth@redhat.com> References: <20240119152507.55182-1-thuth@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.2 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=thuth@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -45 X-Spam_score: -4.6 X-Spam_bar: ---- X-Spam_report: (-4.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-2.519, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: 1705678036186100001 From: Matthew Rosato Typically we refresh the host fh during CLP enable, however it's possible that the device goes through multiple reset events before the guest performs another CLP enable. Let's handle this for now by refreshing the host handle from vfio before disabling aif. Fixes: 03451953c7 ("s390x/pci: reset ISM passthrough devices on shutdown an= d system reset") Reported-by: C=C3=A9dric Le Goater Reviewed-by: Eric Farman Signed-off-by: Matthew Rosato Message-ID: <20240118185151.265329-3-mjrosato@linux.ibm.com> Reviewed-by: C=C3=A9dric Le Goater Signed-off-by: Thomas Huth --- hw/s390x/s390-pci-kvm.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/s390x/s390-pci-kvm.c b/hw/s390x/s390-pci-kvm.c index 1ee510436c..9eef4fc3ec 100644 --- a/hw/s390x/s390-pci-kvm.c +++ b/hw/s390x/s390-pci-kvm.c @@ -18,6 +18,7 @@ #include "hw/s390x/s390-pci-bus.h" #include "hw/s390x/s390-pci-kvm.h" #include "hw/s390x/s390-pci-inst.h" +#include "hw/s390x/s390-pci-vfio.h" #include "cpu_models.h" =20 bool s390_pci_kvm_interp_allowed(void) @@ -64,6 +65,14 @@ int s390_pci_kvm_aif_disable(S390PCIBusDevice *pbdev) return -EINVAL; } =20 + /* + * The device may have already been reset but we still want to relinqu= ish + * the guest ISC, so always be sure to use an up-to-date host fh. + */ + if (!s390_pci_get_host_fh(pbdev, &args.fh)) { + return -EPERM; + } + rc =3D kvm_vm_ioctl(kvm_state, KVM_S390_ZPCI_OP, &args); if (rc =3D=3D 0) { pbdev->aif =3D false; --=20 2.43.0