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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id ED548C48BF8 for ; Thu, 22 Feb 2024 16:31:52 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rdByB-0004vH-TA; Thu, 22 Feb 2024 11:30:47 -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 1rdBy8-0004uP-Lh for qemu-devel@nongnu.org; Thu, 22 Feb 2024 11:30:45 -0500 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 1rdBy0-00081d-KW for qemu-devel@nongnu.org; Thu, 22 Feb 2024 11:30:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1708619435; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references; bh=z8rC1LqoNkicePhZz9xzu4X/hqhqdSwcsu80yXABdyY=; b=RBba+5+CCcvTCinmJQTIqjw1rmpjM0tAhuFe3GD1YylUShQkr+h6+YPyiB0rcqkKEr+0yD mLLaTU3VcpEtFZ65FqN55iwYcWuDFad7GuovRsl9S7By806VXIZVGeabsCzZRf2BSffhF6 08O947C55Y6V6b+rSVWglGK9FMCu+4M= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-644-A7dlertyPhSyMddUQbzr3Q-1; Thu, 22 Feb 2024 11:30:32 -0500 X-MC-Unique: A7dlertyPhSyMddUQbzr3Q-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (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 1A0F0811E81; Thu, 22 Feb 2024 16:30:31 +0000 (UTC) Received: from redhat.com (unknown [10.42.28.48]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 454D01121337; Thu, 22 Feb 2024 16:30:27 +0000 (UTC) Date: Thu, 22 Feb 2024 16:30:25 +0000 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= To: Xiaoyao Li Cc: Paolo Bonzini , David Hildenbrand , Igor Mammedov , "Michael S . Tsirkin" , Marcel Apfelbaum , Richard Henderson , Peter Xu , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Cornelia Huck , Eric Blake , Markus Armbruster , Marcelo Tosatti , qemu-devel@nongnu.org, kvm@vger.kernel.org, Michael Roth , Sean Christopherson , Claudio Fontana , Gerd Hoffmann , Isaku Yamahata , Chenyi Qiang Subject: Re: [PATCH v4 50/66] i386/tdx: handle TDG.VP.VMCALL Message-ID: References: <20240125032328.2522472-1-xiaoyao.li@intel.com> <20240125032328.2522472-51-xiaoyao.li@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20240125032328.2522472-51-xiaoyao.li@intel.com> User-Agent: Mutt/2.2.12 (2023-09-09) X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 Received-SPF: pass client-ip=170.10.133.124; envelope-from=berrange@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.002, 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_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_HELO_TEMPERROR=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: , Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org On Wed, Jan 24, 2024 at 10:23:12PM -0500, Xiaoyao Li wrote: > From: Isaku Yamahata > > Add property "quote-generation-socket" to tdx-guest, which is a property > of type SocketAddress to specify Quote Generation Service(QGS). > > On request of GetQuote, it connects to the QGS socket, read request > data from shared guest memory, send the request data to the QGS, > and store the response into shared guest memory, at last notify > TD guest by interrupt. > > command line example: > qemu-system-x86_64 \ > -object '{"qom-type":"tdx-guest","id":"tdx0","quote-generation-socket":{"type": "vsock", "cid":"1","port":"1234"}}' \ > -machine confidential-guest-support=tdx0 > > Note, above example uses vsock type socket because the QGS we used > implements the vsock socket. It can be other types, like UNIX socket, > which depends on the implementation of QGS. Can you confirm again exactly what QGS impl you are testing against ? I've tried the impl at https://github.com/intel/SGXDataCenterAttestationPrimitives/tree/master/QuoteGeneration/quote_wrapper/qgs which supports UNIX sockets and VSOCK. In both cases, however, it appears to be speaking a different protocol than your QEMU impl below uses. Specifically here: https://github.com/intel/SGXDataCenterAttestationPrimitives/blob/master/QuoteGeneration/quote_wrapper/qgs/qgs_server.cpp#L143 it is reading 4 bytes of header, which are interpreted as the length of the payload which will then be read off the wire. IIUC the payload it expects is the TDREPORT struct. Your QEMU patches here meanwhile are just sending the payload from the GetQuote hypercall which is the TDREPORT struct. IOW, QEMU is not sending the 4 byte length header the QGS expects. and whole thing fails. > > To avoid no response from QGS server, setup a timer for the transaction. > If timeout, make it an error and interrupt guest. Define the threshold of > time to 30s at present, maybe change to other value if not appropriate. > > Signed-off-by: Isaku Yamahata > Codeveloped-by: Chenyi Qiang > Signed-off-by: Chenyi Qiang > Codeveloped-by: Xiaoyao Li > Signed-off-by: Xiaoyao Li > --- With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|