Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp227553iob; Mon, 2 May 2022 17:50:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzJoAcW83wX/aSxFccv6raAG/d4j92YAESH92uCbWeZ1qYHTtCVHtV+XSFcmyJrmi1lEa0F X-Received: by 2002:a17:902:7794:b0:156:7641:a6cf with SMTP id o20-20020a170902779400b001567641a6cfmr14387009pll.35.1651539012054; Mon, 02 May 2022 17:50:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651539012; cv=none; d=google.com; s=arc-20160816; b=mKIPM6xnyEjEmLqjKesj5UkgV22tX+4yJ+FptcdCs5cN3at95VV0KUnL3uF+VavtTF 7voY5CJcytURyaDmEtlPXEbtu5rgk1XGYs1xL9bVEITBt6RfpXTZy0aYvy/aMr8N7wYB KHKmv7hgu/fBjZBFswhvML/Ss68gJ6+TDplsaiNGuKzmWaDisyMTpzJUewk4PlHndU1g gxywcc9njPeJ+WGWIZOQBPGjLI+zM69UCshGNmDZ0ddtkPt8zknodFHpTOtok2EYQHrz ooU95gTCm4swlgnp9tIJkepS1422kU6OkdJ9nfXeSKT6DvXzy4CAbnawINb13a53S98p IKTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id:dkim-signature; bh=UuQ0X+J7f3Cm1zMbvgDfIwlBU/PqhNrUA91mSDnj/Qc=; b=oBQQvnwIUxFY2XuoB4FozSHq2cE3/WWz1sVY4uoL6q3mpF9AILRk657K1D/mHg9Z94 WFYoXPDqu/uaEpb9Ej4Rik0vMGSoj6tLgFP+T8Zve3OGhyBjwG2Ye08U6Ksqn5Ej+xuv pQocfNFbyty27dtzMK2jV2HsTJW+1+1UYjuAgH4OHcM41u0vdhej0H9nHkXK2vOdnV1F w8H6dVyHhLv2mYql+Vy0vOvsF0OgjEO4dp5YW1ds7DbUARwhajW/MktAHJ2ZtVFXgAwh jyNF9x4HWkmI2DEQh0/QlwJvjtQnjfD9Gtw93inidG8vvdPzA6bHLYOT5pUj6KzzRIG+ I5rA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Y6hk60n3; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id n6-20020a170903110600b00153b2d1652csi17675692plh.308.2022.05.02.17.50.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 May 2022 17:50:12 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Y6hk60n3; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 0F8B24550E; Mon, 2 May 2022 17:38:07 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243922AbiEBCoD (ORCPT + 99 others); Sun, 1 May 2022 22:44:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354699AbiEBCn7 (ORCPT ); Sun, 1 May 2022 22:43:59 -0400 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7587CB86D for ; Sun, 1 May 2022 19:40:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1651459232; x=1682995232; h=message-id:subject:from:to:cc:date:in-reply-to: references:mime-version:content-transfer-encoding; bh=/YGMfrYTxMbbne12FKu10wyZkVvhumkNt5KrqfxjqUE=; b=Y6hk60n3VOvVUin6C1qp0+K7NMqoNU/rkNPwSDhWZ0f/YsH3aHv2vyge VtVzvfmZ69bCSBUDgpA3tDkOc0Goo/woak/bkwXR8fqGxrn2YxeOZXjb2 X1+yWegtHto5TOojWJhGPg++s/+fWRLUcZ/Py4SZ4fnc+qgh3Ufix/bV+ B0WR/25fxZ/3kT9F3BXqQYXKpdu+o6PGKKFyFl4tEz3cYSju8kc05XWRi 1Jy4QYbI7cKtsRiGssIiFibff3eH1tXrI5bV1aksw+p2iVAPW1x6SGSTG 7kHz8GYPcf8TpIbufCo1SFYBQMVpMV7zvGsyAMoHtd1A6RZUsI86Mq4+m w==; X-IronPort-AV: E=McAfee;i="6400,9594,10334"; a="266972364" X-IronPort-AV: E=Sophos;i="5.91,190,1647327600"; d="scan'208";a="266972364" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 May 2022 19:40:32 -0700 X-IronPort-AV: E=Sophos;i="5.91,190,1647327600"; d="scan'208";a="535644476" Received: from bwu50-mobl.amr.corp.intel.com (HELO khuang2-desk.gar.corp.intel.com) ([10.254.2.219]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 May 2022 19:40:28 -0700 Message-ID: <243e918c523320ba3d216cbe22d24fe5ce33f370.camel@intel.com> Subject: Re: [PATCH v5 3/3] x86/tdx: Add Quote generation support From: Kai Huang To: Kuppuswamy Sathyanarayanan , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org Cc: "H . Peter Anvin" , "Kirill A . Shutemov" , Tony Luck , Andi Kleen , Wander Lairson Costa , Isaku Yamahata , marcelo.cerri@canonical.com, tim.gardner@canonical.com, khalid.elmously@canonical.com, philip.cox@canonical.com, linux-kernel@vger.kernel.org Date: Mon, 02 May 2022 14:40:26 +1200 In-Reply-To: <20220501183500.2242828-4-sathyanarayanan.kuppuswamy@linux.intel.com> References: <20220501183500.2242828-1-sathyanarayanan.kuppuswamy@linux.intel.com> <20220501183500.2242828-4-sathyanarayanan.kuppuswamy@linux.intel.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.4 (3.42.4-1.fc35) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > + > + /* Get order for Quote buffer page allocation */ > + order = get_order(quote_req.len); > + > + /* > + * Allocate buffer to get TD Quote from the VMM. > + * Size needs to be 4KB aligned (which is already > + * met in page allocation). > + */ > + tdquote = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, order); > + if (!tdquote) { > + ret = -ENOMEM; > + goto quote_failed; > + } You can use alloc_pages_exact(). > + > + /* > + * Since this buffer will be shared with the VMM via GetQuote > + * hypercall, decrypt it. > + */ > + ret = set_memory_decrypted((unsigned long)tdquote, 1UL << order); > + if (ret) > + goto quote_failed; Again, Dave and Andi already commented you should use vmap() to avoid breaking up the direct-mapping. Please use vmap() instead. https://lore.kernel.org/all/ce0feeec-a949-35f8-3010-b0d69acbbc2e@linux.intel.com/ Will review the rest later. -- Thanks, -Kai