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=-5.5 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 DC881C07E9E for ; Fri, 9 Jul 2021 00:36:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C5EBA61433 for ; Fri, 9 Jul 2021 00:36:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230310AbhGIAj3 (ORCPT ); Thu, 8 Jul 2021 20:39:29 -0400 Received: from mga14.intel.com ([192.55.52.115]:39326 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229637AbhGIAj2 (ORCPT ); Thu, 8 Jul 2021 20:39:28 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10039"; a="209440428" X-IronPort-AV: E=Sophos;i="5.84,225,1620716400"; d="scan'208";a="209440428" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2021 17:36:45 -0700 X-IronPort-AV: E=Sophos;i="5.84,225,1620716400"; d="scan'208";a="458088595" Received: from akleen-mobl1.amr.corp.intel.com (HELO [10.212.178.170]) ([10.212.178.170]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jul 2021 17:36:44 -0700 Subject: Re: [PATCH v2 5/6] platform/x86: intel_tdx_attest: Add TDX Guest attestation interface driver To: Dan Williams , "Kuppuswamy, Sathyanarayanan" Cc: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Peter Zijlstra , Andy Lutomirski , Hans de Goede , Mark Gross , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Peter H Anvin , Dave Hansen , Tony Luck , Kirill Shutemov , Sean Christopherson , Kuppuswamy Sathyanarayanan , X86 ML , Linux Kernel Mailing List , platform-driver-x86@vger.kernel.org, bpf@vger.kernel.org, Netdev References: <20210707204249.3046665-1-sathyanarayanan.kuppuswamy@linux.intel.com> <20210707204249.3046665-6-sathyanarayanan.kuppuswamy@linux.intel.com> <24d8fd58-36c1-0e89-4142-28f29e2c434b@linux.intel.com> From: Andi Kleen Message-ID: <4972fc1a-1ffb-2b6d-e764-471210df96a3@linux.intel.com> Date: Thu, 8 Jul 2021 17:36:44 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/8/2021 5:20 PM, Dan Williams wrote: > > If you have a lock would TDX KVM even notice that its parallel > requests are being handled serially? I.e. even if they said "yes, > multiple requests may happen in parallel", until it becomes an actual > latency problem in practice it's not clear that this generous use of > resources is justified. The worst case usage is 2 pages * file descriptor. There are lots of other ways to use that much and more memory for each file descriptor. > > Scratch that... this driver already has the attestation_lock! So, it's > already the case that only one thread can be attesting at a time. The > per-file buffer is unecessary. But then you couldn't free the buffer. So it would be leaked forever for likely only one attestation. Not sure what problem you're trying to solve here. > > keyutils supports generating and passing blobs into and out of the > kernel with a handle associated to those blobs. This driver adds a TDX > way to pass blobs into and out of the kernel. If Linux grows other > TDX-like attestation requirements in the future (e.g. PCI SPDM) should > each of those invent their own user ABI for passing blobs around? The TDX blobs are different than any blobs that keyutils supports today. The TDX operations are different too. TDREPORT doesn't even involve any keys, it's just attestation reports. keyutils today nothing related to attestation. I just don't see any commonality. If there was commonality it would be more with the TPM interface, but TDX attestation is different enough that it also isn't feasible to directly convert it into TPM operation (apart from standard TPM being a beast that you better avoid as much as possible anyways) -Andi