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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 06708CDB484 for ; Wed, 18 Oct 2023 05:20:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5AF7E8D0132; Wed, 18 Oct 2023 01:20:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 538108D0016; Wed, 18 Oct 2023 01:20:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3D8908D0132; Wed, 18 Oct 2023 01:20:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 2AD808D0016 for ; Wed, 18 Oct 2023 01:20:32 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id EE4FBC123D for ; Wed, 18 Oct 2023 05:20:31 +0000 (UTC) X-FDA: 81357431862.06.54DF63D Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by imf03.hostedemail.com (Postfix) with ESMTP id 6DE7320012 for ; Wed, 18 Oct 2023 05:20:29 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=KzkIz5IS; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf03.hostedemail.com: domain of sathyanarayanan.kuppuswamy@linux.intel.com has no SPF policy when checking 134.134.136.126) smtp.mailfrom=sathyanarayanan.kuppuswamy@linux.intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1697606429; h=from:from:sender: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:dkim-signature; bh=as/yH5b5JmHMRJJMwwRuv+kMmq66sZ/b6XWd2XzDA18=; b=eH1TthOIzNa1fRFkJ4SjdqlRVYb7cXyuh8DRszdmI77bAxmYrcfz1l05dwwgYaZa/iYYpi WWnEwfDE7+jGFCJDWuXiHP9w4fCWrZ46vr2thcSr4SIcHYwJ7fBxdBnelzEs6E3UIZfZTl UZ9j2dMNV1OLTildoD6yBaD5oZco7Z0= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=KzkIz5IS; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf03.hostedemail.com: domain of sathyanarayanan.kuppuswamy@linux.intel.com has no SPF policy when checking 134.134.136.126) smtp.mailfrom=sathyanarayanan.kuppuswamy@linux.intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1697606429; a=rsa-sha256; cv=none; b=X4/yw+C/pPBhtJxM+V50HWsPV648BetSmYnM2he3yNWNIlCkp3GVVcwnitdZHZS3QLW4bc lkIDhQ6eUe6f2ZADK5aGoooGAkpaehJgq2S54od9wQBkRDRqNpdnrtGz3D0YElxpY3vWVe /y/iTjUBJDPnxDscq13hT+1coBFJY8k= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1697606429; x=1729142429; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=ljGA96pJdhn4htcQFUZHNLFUU0HFsDrmUML7iu2lJmM=; b=KzkIz5ISd3r0v5xm06ilmQzkNP2BYlGvpPTh4gzJS/yQd/OUPnGb1jZS rcSF9w2MzmvpFSPoK5FGoVZAom5yXUkgplZtIAlQXDNgJpuxEvlJDURcT arM0fpy1wspjeOr0LfWkMX/CaRsj97fvtPPyVDT4zVJ5K/xP3ah2AT6fh +o3RYVDZKmWobtgfMNnIZzyl7Td1RLdlyEKuOQQb6vNUOmS21fpfZen1I LfhIpn8IsuIZ7mW1dmYwpEVaByo0oqiz9WdcTWZaJJyS2fP+Q+zGPjvN4 qrH0a2YdnGnuqd+wMrQ6D4fsbtGEVsJWGSFRegdGz50aPNQ/UxJ0sWg41 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10866"; a="371003327" X-IronPort-AV: E=Sophos;i="6.03,234,1694761200"; d="scan'208";a="371003327" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2023 22:20:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10866"; a="822291496" X-IronPort-AV: E=Sophos;i="6.03,234,1694761200"; d="scan'208";a="822291496" Received: from jysong-mobl1.amr.corp.intel.com (HELO [10.251.4.174]) ([10.251.4.174]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2023 22:20:26 -0700 Message-ID: <3133a1a5-58c0-4b31-89fe-e86ffa12a342@linux.intel.com> Date: Tue, 17 Oct 2023 22:20:25 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 03/10] kvmclock: Use free_decrypted_pages() Content-Language: en-US To: Rick Edgecombe , x86@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, luto@kernel.org, peterz@infradead.org, kirill.shutemov@linux.intel.com, elena.reshetova@intel.com, isaku.yamahata@intel.com, seanjc@google.com, Michael Kelley , thomas.lendacky@amd.com, decui@microsoft.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org Cc: Paolo Bonzini , Wanpeng Li , Vitaly Kuznetsov , kvm@vger.kernel.org References: <20231017202505.340906-1-rick.p.edgecombe@intel.com> <20231017202505.340906-4-rick.p.edgecombe@intel.com> From: Kuppuswamy Sathyanarayanan In-Reply-To: <20231017202505.340906-4-rick.p.edgecombe@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 6DE7320012 X-Stat-Signature: cjpcyfz1rkpt747czf8c94kkyw31o43q X-HE-Tag: 1697606429-930485 X-HE-Meta: U2FsdGVkX19f9uCFBeHvT7ZFrx9UQeJFQEu11yVowvom9IHNAfWPb0a49WOPm5HU/wDlmSjEH081EHMZto1PjUqiizRJAfQ0qMJUYzOKtHTe57gvomqXqmq7PQcFFOffXQxu5z57kopDdGp1OJCGhm4HipgzuBv5nwMRv2/L2xup2yO79tDedie+oMft1UL9grXLGY88bWGl38Omfj7zRjn6RFl/8liSFQ91P07xeffaCuONTvblxOoWVisRcbvUGq1kegXEG3REel3Vu415y4K/V9YQYRcZQZHvVmGUWWduRkbmQJiUDxRoBaEV9GwHQPGK2uDThe/WqF/WmMsnYZQRlJQicoHatkeX4qa5DoEFKY5G2VOjXHps4IvTP4sy3yutKDDoPLduwPX7CJPgsG1ab40qj3aLJsTd8rdtCWlJHkU2c/9DIsWlB4DybZJ8RmwASKBu2JZtUUOcijZ22Lw9B3v0l8yM3ppszC74b4OfLbsUcxx/5kQAWXW3QoHdsUZEG0oaXqDQ/2FHISAk+AbfnEgkwho1+8UcvaTGx2epPKUeucCH5Db9Ztn0upR6CmYrPNciFDXPtZ5RF+2uSMESu5L0l5JDQnPZ6Y2PN1aYQcuH1000aKYdVYsedy4PH59VIOCqTSG9DxIis3MTcjr+iC/DlhrDx+BjAYongs6pPAbygwQZmRQb6AnnG0rOXiqs+5cO2oBTUqf714gtISB10Xrq3cbZZ34cwvCJ23pZlKT6SXbOKPdxKMeO0lb1qglkvrLFB1S6jtWn2PTIss35j3mipBX9jT/o8Tjqs/En2cuSgFOwmLuWT+hIxEygy9Z+dNQFbdEQVyIn8ZyScFzoMOfAG6n08drjx5rvr5iu0dOnB6TtQsOrt3/2vfL1oHSHy9KonDnSI8WPc70fN9uUOb+MEaWrkJ2lmrXTgXzH7ZmN4PfZz3BMgpVfhohqT5fbCTALyPdTYGunW9O Zbb+/t9K ItRg9NxwW36tYGR7WAtMBT2Jx3FiaTEt/MNxSm9uIKxseE0XbLYxKAjUMOmgsE+7Iruo6N7Pyr9tG8Fp4/Bgg6ACxLSTJt0tW+Ac68HAw0fihBj85lfpNWvGDjipolYpJVN4B/NcurT1bilLPResBIjr54WTSgsYQEw/XGt9tDr2PyO3OWIMDTzCe8eV3rvpzYQrUYM44HNRueyqgJELli6QhdNIJGCR58E3Urh0U37oHgMbUhGwBiqBUcrDhMxBU05dDYpr5jtl1mBrwbP9+2YvkG27z0fR64W9IoBKr6aA3NXhiP19tMQRO+l6n3JYpTmJUZKxqAaeKMZbsvcpy8nIi+WFdHdBaFi7pr1o8Y+XI9y2fGOZx4GUNHTDtYCEyiRTk X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 10/17/2023 1:24 PM, Rick Edgecombe wrote: > On TDX it is possible for the untrusted host to cause > set_memory_encrypted() or set_memory_decrypted() to fail such that an > error is returned and the resulting memory is shared. Callers need to take > care to handle these errors to avoid returning decrypted (shared) memory to > the page allocator, which could lead to functional or security issues. > > Kvmclock could free decrypted/shared pages if set_memory_decrypted() fails. > Use the recently added free_decrypted_pages() to avoid this. > > Cc: Paolo Bonzini > Cc: Wanpeng Li > Cc: Vitaly Kuznetsov > Cc: kvm@vger.kernel.org > Signed-off-by: Rick Edgecombe > --- Since it a fix, do you want to add Fixes tag? Otherwise, it looks good to me. Reviewed-by: Kuppuswamy Sathyanarayanan > arch/x86/kernel/kvmclock.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c > index fb8f52149be9..587b159c4e53 100644 > --- a/arch/x86/kernel/kvmclock.c > +++ b/arch/x86/kernel/kvmclock.c > @@ -227,7 +227,7 @@ static void __init kvmclock_init_mem(void) > r = set_memory_decrypted((unsigned long) hvclock_mem, > 1UL << order); > if (r) { > - __free_pages(p, order); > + free_decrypted_pages((unsigned long)hvclock_mem, order); > hvclock_mem = NULL; > pr_warn("kvmclock: set_memory_decrypted() failed. Disabling\n"); > return; -- Sathyanarayanan Kuppuswamy Linux Kernel Developer