From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DCFD1C3526B for ; Mon, 14 Dec 2020 17:33:48 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8362C22CF6 for ; Mon, 14 Dec 2020 17:28:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8362C22CF6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:57412 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kordn-0002OT-DZ for qemu-devel@archiver.kernel.org; Mon, 14 Dec 2020 12:28:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58674) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1korZ0-0004k3-SU for qemu-devel@nongnu.org; Mon, 14 Dec 2020 12:23:15 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:24589) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1korYx-000144-PU for qemu-devel@nongnu.org; Mon, 14 Dec 2020 12:23:09 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607966582; 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=ZIQmqdC7+zH2YkfI8yaUxzLNmpQ3Ic1mn8OsF5AYibw=; b=MIZstzWqRPN44G1b6LE1xvh8AO0gjp8inNokUK45B9OZRqm26SlZxqmQJQ9pkFCHRRhQYA RH+fjRHRC9WlYXVoRzNS9Vj2y85pDzrSyzCwa13a9TPF7kBuH50CM4IdvqDJjzPqGu9LKa dZPxACwf7m4Mf9j42Yb8AjPrmIJUNX0= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-162-Zn_ZHwp8MJWyj9502nlsyQ-1; Mon, 14 Dec 2020 12:22:58 -0500 X-MC-Unique: Zn_ZHwp8MJWyj9502nlsyQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BF54B80ED8B; Mon, 14 Dec 2020 17:22:56 +0000 (UTC) Received: from gondolin (ovpn-113-171.ams2.redhat.com [10.36.113.171]) by smtp.corp.redhat.com (Postfix) with ESMTP id CB62A5D6AB; Mon, 14 Dec 2020 17:22:43 +0000 (UTC) Date: Mon, 14 Dec 2020 18:22:40 +0100 From: Cornelia Huck To: David Gibson Subject: Re: [for-6.0 v5 11/13] spapr: PEF: prevent migration Message-ID: <20201214182240.2abd85eb.cohuck@redhat.com> In-Reply-To: <20201204054415.579042-12-david@gibson.dropbear.id.au> References: <20201204054415.579042-1-david@gibson.dropbear.id.au> <20201204054415.579042-12-david@gibson.dropbear.id.au> Organization: Red Hat GmbH MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Received-SPF: pass client-ip=63.128.21.124; envelope-from=cohuck@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_H4=0.001, RCVD_IN_MSPIKE_WL=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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: pair@us.ibm.com, brijesh.singh@amd.com, frankja@linux.ibm.com, kvm@vger.kernel.org, "Michael S. Tsirkin" , Richard Henderson , Marcelo Tosatti , david@redhat.com, qemu-devel@nongnu.org, dgilbert@redhat.com, pasic@linux.ibm.com, borntraeger@de.ibm.com, qemu-s390x@nongnu.org, qemu-ppc@nongnu.org, berrange@redhat.com, thuth@redhat.com, pbonzini@redhat.com, rth@twiddle.net, mdroth@linux.vnet.ibm.com, Eduardo Habkost Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On Fri, 4 Dec 2020 16:44:13 +1100 David Gibson wrote: > We haven't yet implemented the fairly involved handshaking that will be > needed to migrate PEF protected guests. For now, just use a migration > blocker so we get a meaningful error if someone attempts this (this is the > same approach used by AMD SEV). > > Signed-off-by: David Gibson > Reviewed-by: Dr. David Alan Gilbert > --- > hw/ppc/pef.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/hw/ppc/pef.c b/hw/ppc/pef.c > index 3ae3059cfe..edc3e744ba 100644 > --- a/hw/ppc/pef.c > +++ b/hw/ppc/pef.c > @@ -38,7 +38,11 @@ struct PefGuestState { > }; > > #ifdef CONFIG_KVM > +static Error *pef_mig_blocker; > + > static int kvmppc_svm_init(Error **errp) This looks weird? > + > +int kvmppc_svm_init(SecurableGuestMemory *sgm, Error **errp) > { > if (!kvm_check_extension(kvm_state, KVM_CAP_PPC_SECURABLE_GUEST)) { > error_setg(errp, > @@ -54,6 +58,11 @@ static int kvmppc_svm_init(Error **errp) > } > } > > + /* add migration blocker */ > + error_setg(&pef_mig_blocker, "PEF: Migration is not implemented"); > + /* NB: This can fail if --only-migratable is used */ > + migrate_add_blocker(pef_mig_blocker, &error_fatal); Just so that I understand: is PEF something that is enabled by the host (and the guest is either secured or doesn't start), or is it using a model like s390x PV where the guest initiates the transition into secured mode? Asking because s390x adds the migration blocker only when the transition is actually happening (i.e. guests that do not transition into secure mode remain migratable.) This has the side effect that you might be able to start a machine with --only-migratable that transitions into a non-migratable machine via a guest action, if I'm not mistaken. Without the new object, I don't see a way to block with --only-migratable; with it, we should be able to do that. Not sure what the desirable behaviour is here. > + > return 0; > } >