Received: by 2002:a05:7412:e794:b0:fa:551:50a7 with SMTP id o20csp615581rdd; Tue, 9 Jan 2024 14:21:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IE4y8R++djizxnOyHDH6VXGs6yO7M85WYcBjsvP9y5SLn2y/MzIYh48ZpkfvxqA+6WBhdK9 X-Received: by 2002:a17:90a:e992:b0:28d:940c:bcc8 with SMTP id v18-20020a17090ae99200b0028d940cbcc8mr294767pjy.8.1704838859770; Tue, 09 Jan 2024 14:20:59 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1704838859; cv=pass; d=google.com; s=arc-20160816; b=H/38N/zv8h3jLixL9/TsRlqZ/dEZR8PfTl8Mh1BqLtahBQ2TKA6WDVIcHX1WDyZj0Q +JbyYOj75fCcBrKytjwzcHoCbhSwYEAJzMOHTw/qFVBYnJa6VOPvdFeyVCjIwV2BqHPM qtseKVEFTNe38NEBOMAH5/lJ9pnVBo3OamWoeLA6++5NV7JIiBz/B8TiFlq8/eyMhapY MOZz3xbV50Y4Me0hXTacVWXhz/0EpNSojc4ctdsYPvhKhzbyqohdKIaJoFndgr3fP5jA iwbCUQzryOurUG8tesRIor2ODj6fRVbcFqAMAngOQ8j7OkwW7ysJbZhPgI/TWRC/UAAq HNMw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:date:message-id:dkim-signature; bh=0n6S1IhJFL+vYOedd5EP4plpcRrdfl1wNTTgjL8YbRg=; fh=/df44p1TcrrdYgRaaAwSq2VOIb3B8OVHBZw5jFcw3lg=; b=iBtnPrIcIr9XTEozWB+4S3dJtMoVKek/yy8JHby+U4jtRqFIsmsc5qwzynjOV704oW K9feie9sEzQn9JYRKm12zmBHsUYH2Ipcnyg6m0spqOkPoi4IgfZLlZX74PhoJIwv/n+U i1NRkgz3Ns7RDGyHyO5y5Vp2Vf7z6+3gDIAwTwg3koZsI7mraN7JI8bx7/ds12h5dWNe X/0E+0D4tSBEUfMg2lsiHleVKyHycmqW71ubgOwUf0KaZLvXRUd8/ddqKxUK5/mAwMi9 0M39Z0PED+ORnptJ+dZ4U11CEbTxoiy06lqxc8rxnWdjWtWjHQhuHHTEoPhZkVGjkVV8 dxew== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=ipMeTyAW; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-crypto+bounces-1314-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-crypto+bounces-1314-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id ot4-20020a17090b3b4400b0028c06f5b62bsi8182415pjb.137.2024.01.09.14.20.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Jan 2024 14:20:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-crypto+bounces-1314-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@amd.com header.s=selector1 header.b=ipMeTyAW; arc=pass (i=1 spf=pass spfdomain=amd.com dkim=pass dkdomain=amd.com dmarc=pass fromdomain=amd.com); spf=pass (google.com: domain of linux-crypto+bounces-1314-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-crypto+bounces-1314-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amd.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 6C800282619 for ; Tue, 9 Jan 2024 22:20:59 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3CEF53EA98; Tue, 9 Jan 2024 22:19:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="ipMeTyAW" X-Original-To: linux-crypto@vger.kernel.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2056.outbound.protection.outlook.com [40.107.223.56]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DDCA73C6A4; Tue, 9 Jan 2024 22:19:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=glZyEfEpxdgF4C+TsUTtFiiiR9Tzp1jBkEn3yr3GlXe6nPDGaH1nv5wAsOk/TJnEMl2etEWj6K/pLnxu6iYLywp/TmhTdWOeWnwgvOa4Qb4qWu53Mi1FzNAjIoz7WSuIWVzR6Kl0MZ9dmWiDNjQxNUscjqyx5fhlk/WoX4cERloejfYob7fskEvgfM2PrtcpbIILyCyrU+87JiOlBI9pv59Obam7KSFpyM3BvKwv1FgBZPyCJM3Xa8hJgbU3aGHg8GAQAiaDL3aN/bVvM9uqaPbOZ/AC70xymt0xXFuqa9doIV4eRG9Lixk9ySPQG3rVe66u1kynO6uZ0vNPrOmsFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0n6S1IhJFL+vYOedd5EP4plpcRrdfl1wNTTgjL8YbRg=; b=Rx6iUNCBXcmOXDq8aACWmWgGHWMU03okpiTwY33HYs/huCLM7AC99n3Sy0j72pjjhCgzew2R9ybnAkTUc3T+H9NkYKwb+o6O+N/QtWr0op1UCTJAo6LFali0nNJDz1hnrT2DH5qPwFUIv7Y1MfvN1q6A9mRWQLTLONMmlNBtg9BqKgXZFxRJ1DYBo9KvzCSfgXI8GG6yth7QKJS0QgtZysiBHZi9sUk3VpfqJJ3ZUYoXJygzc8j19KNBr3wKhdvT3pPBSDrFfuPQjzLaMGzvWwEZgGt31HbpAs2neQvJYnNpMsZdvOwPTPmnOboNdSNzH1xhpRHIDbmVGE9S1LYBNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0n6S1IhJFL+vYOedd5EP4plpcRrdfl1wNTTgjL8YbRg=; b=ipMeTyAW+a38uAoKfbajM8/64/Zqpno8KBTunc8/7wwmEelALBoVDYvnZHEJdeou18VcSb1nJworRQJwrTMFVYZxW5OGEfTuDP7BqjTTorYDMhr35ulEh9iuLMGUjyx0H8vSRCAv7hX46pVwSA4/gNuHTFvUdZzt65TkhWYM0Bs= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from SN6PR12MB2767.namprd12.prod.outlook.com (2603:10b6:805:75::23) by IA1PR12MB8333.namprd12.prod.outlook.com (2603:10b6:208:3fe::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.23; Tue, 9 Jan 2024 22:19:05 +0000 Received: from SN6PR12MB2767.namprd12.prod.outlook.com ([fe80::dc71:c26c:a009:49]) by SN6PR12MB2767.namprd12.prod.outlook.com ([fe80::dc71:c26c:a009:49%5]) with mapi id 15.20.7159.020; Tue, 9 Jan 2024 22:19:05 +0000 Message-ID: <5cdd2093-b007-404d-96a8-89b3aa6e6e4b@amd.com> Date: Tue, 9 Jan 2024 16:19:02 -0600 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 15/26] x86/sev: Introduce snp leaked pages list Content-Language: en-US To: Vlastimil Babka , Michael Roth , x86@kernel.org Cc: kvm@vger.kernel.org, linux-coco@lists.linux.dev, linux-mm@kvack.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, tglx@linutronix.de, mingo@redhat.com, jroedel@suse.de, thomas.lendacky@amd.com, hpa@zytor.com, ardb@kernel.org, pbonzini@redhat.com, seanjc@google.com, vkuznets@redhat.com, jmattson@google.com, luto@kernel.org, dave.hansen@linux.intel.com, slp@redhat.com, pgonda@google.com, peterz@infradead.org, srinivas.pandruvada@linux.intel.com, rientjes@google.com, tobin@ibm.com, bp@alien8.de, kirill@shutemov.name, ak@linux.intel.com, tony.luck@intel.com, sathyanarayanan.kuppuswamy@linux.intel.com, alpergun@google.com, jarkko@kernel.org, nikunj.dadhania@amd.com, pankaj.gupta@amd.com, liam.merwick@oracle.com, zhi.a.wang@intel.com References: <20231230161954.569267-1-michael.roth@amd.com> <20231230161954.569267-16-michael.roth@amd.com> From: "Kalra, Ashish" In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SN4PR0501CA0057.namprd05.prod.outlook.com (2603:10b6:803:41::34) To SN6PR12MB2767.namprd12.prod.outlook.com (2603:10b6:805:75::23) Precedence: bulk X-Mailing-List: linux-crypto@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR12MB2767:EE_|IA1PR12MB8333:EE_ X-MS-Office365-Filtering-Correlation-Id: 7e0c4860-42cb-4455-bedc-08dc1160fe0c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jFElfiQML6gAx3uii+bok8dqoPCGUIM6kpw51H1ISdLZXwrvJcl/kl7kcZAaFxDHdIzIMSUSa9144WRy65C8kAS4jPuO7cODA4aEAGH3SUEPl1oYp459ahcAU+KsxxFq/6PKq0Ar6QFfCiWf9Vv8WrIO8jjsgCtrtH4u1dyeRtfd3aQiR03WIgjgKrY8GwryFxwBSogXe+W8+HMe0efusizDBs098GcGnKxlcYTDR/ilxu9ic+DPxZwiwoyEHPs/b/z+PxGtfp3gkAtORUNt0aE27Hlum/M7i00Kum+bfAPzYSda539MyRGDDXLHlaIG47favqj4wcgzvG3atXDbWJ8KPXEOoayBlfQ4IoV6g4dp9DjpeG8ZDiRrd/XXF2VU5yNaOnIHhGHhepc0tLVnF1avQlwAccIsWBNFmi2HlS/K1mlF4h+ktAuvAfl4dD3YyjzHz7LrepYXfjgooqDqYaciQwBLA/hl0V8e0e1tQJtccIn9YHQ82BuOc71kuQzuLyitpow+htLkdanM3DPkAR9uTPBfOy+P0ME5zADD2MfQySbrYMr+RNHxe3KhqeQgjENuE4JJ3rE0YEdRfZ9WbLoyeQ7uMAn6C1d0TvbrKP75SuiaTLpJdB/O195FG42JGzor7HdD+AEq9WDRBdihIEd/JrYbtJvqtdkatZPJpgzfWe6GcIHnLAvqs9HDd8Jp X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2767.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(39860400002)(366004)(396003)(230922051799003)(230273577357003)(230173577357003)(451199024)(186009)(1800799012)(64100799003)(478600001)(6486002)(66556008)(966005)(66946007)(6666004)(316002)(110136005)(4326008)(66476007)(83380400001)(2616005)(26005)(6512007)(53546011)(6506007)(8676002)(8936002)(31686004)(5660300002)(7416002)(7406005)(2906002)(41300700001)(31696002)(86362001)(38100700002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?U00vZUFXY05xMUs5aDdhZFZramZTajFmM2FDUGRLNlRLL2ZmYytlVlJ2NlpC?= =?utf-8?B?dVhzTHhMS3ZKQ1pZZTQ1YnM1cTc4TkNNZkZjR0ZEWjBGcVBhbTR3NSswVy9l?= =?utf-8?B?NnowNW9iS3hKYlRWY2hqZW9Sd2tBZHBnT3Y2aU40TlREUEpxS0dHK0c2MEg0?= =?utf-8?B?ZkZ6Vksxb1h4U2tEdW9vVDF0RnJyZjBlZFBXd0dWblF5aG1LRk9HTk5BSU4y?= =?utf-8?B?MnpkTXpaWDBKbG4yLytLNGEyc2RCa0ZHaEhLdFRkcTBhOTIvZXhVelhBQ0Zu?= =?utf-8?B?ZzBBWjVUS2QyZm8rYVJYQUdib3dsVjhYaVVSL2V5bThaSVl1NnVIeEVqQkJP?= =?utf-8?B?azBSbTRGd0lCVVB1QWcwK3lmUUlkcWhKU0RMc1pZTmlHMDdNMy9GWk1jU2JM?= =?utf-8?B?ckYySmNEWS9nV0NmcjVCQTVLVnRYUWJLZnZWQTF4L3dyNFUrRzRlVmsxSGoz?= =?utf-8?B?VlNDLzgxSDB1TThSMDAvRkJPbXZySWljWG44VGpsOVFwK0Z0eE9OSzlzSVlD?= =?utf-8?B?Mk44NXFvK0JaQW9yV3QrVHYrK1BabmsrUzV6SXRydGJic0RtWTNZcnR2TDU3?= =?utf-8?B?RlZmWWswTzJqV1VIS3d0S0Y3dDJhb0JSK04yS25JckxVdU01UHkwbUx4clVu?= =?utf-8?B?bE81QVpydDIzdkgyT252NHpGN0xuK2xQRFZOU0RBaGZvaFkvY25iN2VEcXc3?= =?utf-8?B?MzZ0QzRsYkpsdnFOS3ZVTlMySUZ4MENzdVQzQ05HRVU2KzBCYm1TaC85TWJI?= =?utf-8?B?V0orZFcxUnBzRjhGYXBLNmMyN1laRjhWWkJFZEdEeXVTTEo3cUJPcFRUUUhL?= =?utf-8?B?M3VsWEVrY05DOUFXOGcyWHdTRmJ6L3dFSkJUNDM2akE3QTkxVDNkZzhHNGdm?= =?utf-8?B?RnNnc2JqK3VYTEw2TVA5NUcwaDNtWjU4YU8yTlVldzJ0Zk1mb2lSUERQOUVD?= =?utf-8?B?Q0Z0N2JBeHRIRlBWbSt1M0hUejVTYlY3WjRnRVl1SG9ucjNyMzFpTHpWWlJN?= =?utf-8?B?UWlpamoyTytWVWxkZHFEMWVwbkpWQlBubHFXTVVtWk42WUZPeitmWmhlRmVl?= =?utf-8?B?cSsvNkhNb2lha2MyWDBSZ2RHT3ZidkpLd0x0bTc1T2ViSit4eWhoaksxMmRa?= =?utf-8?B?TXpWeldMTy9RaEhUYUR6SlIxZmlyTlVYYlBBblJIaW9tVTJ0SDJUOW4wQU1a?= =?utf-8?B?Y2FMUWNDOW9EeEJ1cmp6UlhBdDlXWSszMlRYSDEvY09Id21jM0F0MkpITkJk?= =?utf-8?B?OGhBVEk3aXpGY0ZyRllQYkgrY0g1ajgrUW1ueFNDNDMweU9ZMGs0MmllMEU1?= =?utf-8?B?TThZdnBKalp1VHZMSjlzSit1a2ZaN2VRNXRVRzlud0xETVJoK2RPcTVpTm1G?= =?utf-8?B?VTJNSlg5ejlEN2t2enM4d1NOQ3lIbU9JTmVjQW9WaFcwM2tYbDZqQXJKTWY2?= =?utf-8?B?REJ0TkxxLzMzOWpZWUM0QWEzUllQK1ZFVktCSndKVlRjaE45RlNUTnUwRWxK?= =?utf-8?B?RHpKRlM2SER3T25NUVR6K000VkczY1g1WTVFY3VYNmtwWVRvMDRxWVFqc0dk?= =?utf-8?B?dnFuU3RRQ3lWZHoyTXJlRy9IcGFLL0VzbG5YaWttMHZpUUZwaW0weTQvRVdW?= =?utf-8?B?OVhva1RnSXZCK3FMRGdESmVHbllGUVJieHFUNGJvaklKUEJTcHpUZmNtdjRl?= =?utf-8?B?OG1lSXBvcXR4blVHVlg5RnNQZTgvMXhFNHhtdXdQVWxlQlVERGVUS2NQNVpI?= =?utf-8?B?L3NmZCtVaDVwL2xKdzZJTEh1emxZOUllcS80SE1zSE9XQjROY0ZvWGMzQXNE?= =?utf-8?B?N3pRcFVBcTcySWdMdWliYzFYT1QwWUJ3bG1uZWFNaUpzamgzSy9Kak1rWE0y?= =?utf-8?B?VWZ0bXBGeHVpdDNJcVJhL05FWGVWMGdveXhsanU0ZXAvWit4ekkzRTk1bVI0?= =?utf-8?B?cFJnVTJ2dEEzV0loZWsyaWN1QjlUdzhwcExCMXRZQS95WkNVaUZaL0kwTGpq?= =?utf-8?B?S3dLRE12V1R3M1BGV1c1RUFhdW1QMW92NGxvTjdWeDJnbnhiUGEvZjVqK1ZZ?= =?utf-8?B?M0F6OXJQdTJpSTNIbWpmMDVwaGl5bEJUZnZyNm9FaWkxZTZvcnljQ2RzMzJj?= =?utf-8?Q?bvM2OaOt3OioNN0rx2JcyYcmQ?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7e0c4860-42cb-4455-bedc-08dc1160fe0c X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2767.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2024 22:19:05.7949 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: rlJmXGWhY5tCxB+ITpClkD1nGrM6lU+uWbxcxs+3cFzJ7sifpwYn74nqzPXJl6Iv82FIb3dQa4l/kzxur22x/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8333 Hello Vlastimil, On 1/8/2024 4:45 AM, Vlastimil Babka wrote: > On 12/30/23 17:19, Michael Roth wrote: >> From: Ashish Kalra >> >> Pages are unsafe to be released back to the page-allocator, if they >> have been transitioned to firmware/guest state and can't be reclaimed >> or transitioned back to hypervisor/shared state. In this case add >> them to an internal leaked pages list to ensure that they are not freed >> or touched/accessed to cause fatal page faults. >> >> Signed-off-by: Ashish Kalra >> [mdr: relocate to arch/x86/virt/svm/sev.c] >> Signed-off-by: Michael Roth > Hi, sorry I didn't respond in time to the last mail discussing previous > version in > https://lore.kernel.org/all/8c1fd8da-912a-a9ce-9547-107ba8a450fc@amd.com/ > due to upcoming holidays. > > I would rather avoid the approach of allocating container objects: > - it's allocating memory when effectively losing memory, a dangerous thing > - are all the callers and their context ok with GFP_KERNEL? > - GFP_KERNEL_ACCOUNT seems wrong, why would we be charging this to the > current process, it's probably not its fault the pages are leaked? Also the > charging can fail? > - given the benefit of having leaked pages on a list is basically just > debugging (i.e. crash dump or drgn inspection) this seems too heavy > > I think it would be better and sufficient to use page->lru for order-0 and > head pages, and simply skip tail pages (possibly with adjusted warning > message for that case). > > Vlastimil > > buddy_list of tail pages is not usable.                          */                         list_add_tail(&page->buddy_list, &snp_leaked_pages_list);                 sev_dump_rmpentry(pfn);                 snp_nr_leaked_pages++;                 pfn++;                 page++;         }         spin_unlock(&snp_leaked_pages_list_lock); } Thanks, Ashish