From nobody Sat May 18 17:15:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1670334827; cv=pass; d=zohomail.com; s=zohoarc; b=P3ig49zakpJ2C/dzwZyLpL8HT+D9ge0xIlpbxhR9B8eGGyUB6HCbwmMe8FyDxwEIHA9EALVfMyByHbN1uIkYb3sW64SZFq1kO2pk8kf4B1ToavpGz1op8ZYOS+WEPK8ZKrasrgKow4zhjPwsoWL8IPXge2X5wljU/stzkZqBgkM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1670334827; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=RJ9MikagtSu0p0ylnNCQKQnatGD4lZkmVnVsnHpUchQ=; b=IXcAywjkCGvXSTRBfJiqKX+g8ieM9z1+TB1Kd77vptTzSaLFKef4LCXG2ub/qcFAtRxhPBUSpEw2I/oVJZ3mSAC856bPW6Zm7Oj+ewD27QD36bhZS9G83ctUxjOqDDkodI7MHqbhnKdFkpRGMsqrGeBdue3ZZRQrV/wTzYZyEPg= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 167033482791652.93389253826513; Tue, 6 Dec 2022 05:53:47 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.454870.712426 (Exim 4.92) (envelope-from ) id 1p2YNv-00049t-JG; Tue, 06 Dec 2022 13:53:23 +0000 Received: by outflank-mailman (output) from mailman id 454870.712426; Tue, 06 Dec 2022 13:53:23 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p2YNv-00049m-GT; Tue, 06 Dec 2022 13:53:23 +0000 Received: by outflank-mailman (input) for mailman id 454870; Tue, 06 Dec 2022 13:53:22 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p2YNu-00049e-Tc for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:53:22 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20628.outbound.protection.outlook.com [2a01:111:f400:7e1a::628]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 57db0e25-756d-11ed-91b6-6bf2151ebd3b; Tue, 06 Dec 2022 14:53:21 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM8PR04MB8020.eurprd04.prod.outlook.com (2603:10a6:20b:244::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec 2022 13:53:20 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022 13:53:20 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 57db0e25-756d-11ed-91b6-6bf2151ebd3b ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YlhwWD2Xjv1f9wf5oMlKDKGvS2O82vBvJMMHNC4Bqh7E02qyr+6ogqfpndaNa+vVhorjvJgdPgDu/89tbRSicq63zVRHdGP9E80GfS8JCXP4/+uLouT8sj1YOF2BEdY3x+kFw7hWkfIxONHJd5uQ0ybTpq1ZrQwiJYYlBF2HqaxdfKhywsrxYKGMy0nF06G0rEuoScyX6tSap3S0DMkbKQs2BE+6m45qT/Z6M9Mcpz/E+gaRwjyor6ovn1Opz+0+VNPG+n9RLJiLEGPbUQNKYxtP935Miho7r/jLhotbIkNMRTjypOuiaBH48X5RuUALGT+Gukn71W8G1G376J/sNg== 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=RJ9MikagtSu0p0ylnNCQKQnatGD4lZkmVnVsnHpUchQ=; b=dBhp9OxWY85ifQn4uoSdw0/1WDvLfaKmxpEJAYg9Q+rO3izV2Tlpn9wh3yHOqgXTMJDlBDOO0ZLWQbeKiAKdYhjq0cjmGqfdE1t0RV7WFglVliweK7Mt7+0rftAM85NjqEbyMeLE6wQwLf97lq//6QOr90OM28V1eKOYs4TdwHeH/wEIrTypWa1X6BdtmkGRAm1JFOgTyUulBN2ApL2E8TrFWAxfJuB88a9JirKowiJS6Nst9uzGSGIHBJcBQ2jZ/nnde/e81uL5xSmxeRNqMcMwEBMzj/Abq8/XiIFcrKEaY4ZgneFPhr1a9qEpO3RZIEspubzO+NKu3EGgHi+pRw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RJ9MikagtSu0p0ylnNCQKQnatGD4lZkmVnVsnHpUchQ=; b=pOhq+HkpN7NsSJM3sNoTmGx2vLQyJBOOghBQMCHKZrgOYXNI+297KjIicYvHII1JAznO9sobPCQNiSSCmRSXApQp7iByd4YuS2RqaOUKI0TpT4YiuSqX9pJ5ge3mfbIaPX0+5nMuNEI433kBevhrw6eS1qqjoXvRLDGdvVRVQ64R5VSSGlz6q9i0nLYKvAar3KiyH1SnX1PXKXJHsXzlV54lI/rfFl0L+R0skSG+z5fDxbamiSRpUsQpdj0lcZZp6eLroKlpoWrG460UhOLERifBMR4TqtZCdVEwEBICpaQ8mLmEhmdvHTM+uNjRPNuX+Wt+3itv+3UAVkdTEZETBw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <83f510bd-9a9c-3063-27dd-d894b1e8031c@suse.com> Date: Tue, 6 Dec 2022 14:53:18 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: [PATCH 1/5] x86/tboot: drop failed attempt to hash shadow page tables Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> In-Reply-To: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0016.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::21) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB8020:EE_ X-MS-Office365-Filtering-Correlation-Id: 09bd3dd8-3148-493e-63b5-08dad7913bc6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: H91zhsey8d2YUcNgTKjhJ0ROU2680zUWNSfW8UirUNT6kHP/KqBgt1dvqRC81SvWxa3ZeSWouiz43S32fwfom0vVc4SbLe6GHaLx5Y4gUHnPW2gQkzKQXQgHG7Jtk+iDetuXUFeMGCyAGeLC2Uoq52EcbeehJnlIvBi2uaFFni/ctz9vxBGtmA/Gnc1+U6NuZC+r4yzZmfNaYa6dPKQZgnqkMcYNCWgS/lHRfkEYkE/O/87/u5LRMLIlcVQagbQq/s4s8FALGjSFJncqKxU/OoBD5xQzLl9syG9hluo/8OnuK2OeEgQ52g32liax4kYW/lM8cjAdfLAoPlu3D/yt2Psu1NNimyK8vfyGKY3H4supxmPzDNK/aOFFNd87fbcPzwVu17+tXudcv19oH4cbqg+HmNuXiZXpsfu1L3PIE8sHvMJyTeNVzrslfXEmKKwq3Ht6Sw1ITql7rrwARBmT+fIyLkSjCsCelCut2OhNFWkF9oGQIA7+8XCY5XfEpiARaIPjPYvATmyoqibkFVDEABpZUMAeWQeTwxwnJfvTxAQhqB0DVqyUSpV3cOwgFQ1+UrTPqR61C1DXnSB1XLBDYbbm7wfGwoQlaKA6zpdBXwyrJcJVHa+syoNY94u229sKm72dOnBLZ060MRnjHDwqUhJvQQ/u674XyPBYuqWBQNlJ+S3SHH8rOMbRB29hKvDxY6LEI2V3gzLCU4b8D8M7PFSqOpD8AtS0O3hmSLAQ29c= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(39860400002)(366004)(376002)(396003)(451199015)(31686004)(186003)(6486002)(6916009)(316002)(54906003)(478600001)(31696002)(86362001)(36756003)(38100700002)(83380400001)(6506007)(2616005)(6512007)(26005)(2906002)(4326008)(5660300002)(41300700001)(8936002)(66556008)(8676002)(66476007)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aC9LMEZDTk5XaVF4TG1ZMm5qWlRxRVladWV3MEo0bU85TGJiOWpkMVpNRkRP?= =?utf-8?B?TTNUc2tnWlNhVmdGV3UvVjVreEozK2R1Z1Z4eENiWU1sd3M3L2QvUkhYdDVz?= =?utf-8?B?T1NsM2RINnpXVE1Vdm9ia1ROMHl3UXk5bC9DS2hvMFFYU2tCVHltTzY3UW54?= =?utf-8?B?SEpWOEY3WG4xMzJIZWRTVVNlQUZJZ0x6MEhMUmdLSjlGbW1GUE96VldhZ2pn?= =?utf-8?B?NjN5UnRvVHJsb0Zaa2N6VXQyVCszc0J1bnNaczNJaHp4bUlUaGtBbWk2OUFL?= =?utf-8?B?RmRuT1hpbjAxckJ3YTJRcTR1MTlZaGY5ZE5wSmxDVEs4NlRXcHNJZllwYzh1?= =?utf-8?B?dklqU3FGM0t6ZmR4L2cydVIyUWptOTJXSHR4U3Z2eXcvRGliV3ZFSG5uTzdp?= =?utf-8?B?d3JoN0xSVzhoaXFxMjV6OE04NkpPVFBFWHQ0MVc4UEQ3MVEyYmkrMVAxNFBL?= =?utf-8?B?MGt2QUJiM05iWktYTGJXZ0U0V1B3WUZJSnpCSXloYXVGNFduNllEVWF1WS9z?= =?utf-8?B?emNBS2Z1UUlVMXJVWUZXZ3hrc1g3VEdnZndLM1ZVUWhOZW53ekdWK1hVQ1Np?= =?utf-8?B?K0dLMU54c1hVdms3TUY5QjFUbEJJdFM4TzRkUUhjRTJNL254dFc1aEd3cXp0?= =?utf-8?B?NzJGQ0ZxMElYZ1dFanA4c3gwL2xxUDVVQ3VkTkw2bjlrNm5JaXp1OUNoeCt0?= =?utf-8?B?WmlXWUpsUkkzUmFqU2NiaHIvRUYyUXhCaldtb1ByQmI2dm41UFJmNk5kYWJl?= =?utf-8?B?RFVjeXVTbUNFUDJwbmJJWXNjc0tuYURTOUJkdFRET0NLNWhsVkU4eFR2dEtO?= =?utf-8?B?ZFRLcDY1UWx0S0VaZlZBaHc3WW5BU3YvTjhFd01JY1A2OVdsWkNqbE8xZTlj?= =?utf-8?B?OHdTMU1hY0xERGQ1NVpqaVlkUzNNSDZjT2ZqSXBDQVpOcDlCUjVqMVhPeHpS?= =?utf-8?B?S01BNGc2eGZyNFVTaGxKQU9ienFoSnB0S21PWUVKQWhoZ1NvWFBDKzVlVkNE?= =?utf-8?B?MUJaVXBrYllaVDVhZ3FpVWM4TlZGT0lqNnR4S1lwNVZqbmRna0kvQ0NIbEJj?= =?utf-8?B?VlY1Y3I4UmozT0hTRTdlMzhia3lOeTFCK3RFaVFLNmJXcmtEeld0OHF4RlRI?= =?utf-8?B?bE5ISU9kRFcxWW1ZcUNJR3B4ejRsOURnUFhXeFdiMWJacFJhQzFRQ041R3Bq?= =?utf-8?B?RDZJOVJSbldBQlFqRDFZaTg3aURoNTE2dDBmWFQ4M0xuTnJTOUZ3VDkxa1o5?= =?utf-8?B?ejNyb05hQ0NQZk90UjdPMmhGeTdLSEJ1eFpVUUtIRmlCUGczVjd0VE5nRitX?= =?utf-8?B?R3JOb2VZRFB1ejUvRStOeVRyb2RLTS9aQW5SdnY5ZnZic1hQdEtweVJaNmEv?= =?utf-8?B?Q1FUNjN0OHJNYy8zQmVWdzVaOWxoVllXUUx5Uzl3aHNFUFkrN1ZzNDhtOEdZ?= =?utf-8?B?ekdaNG9SNEU0alFyNW84QXV5RVZXU09hTFJEaFpHbHR3VVVtM3RJT29uenY1?= =?utf-8?B?UUtvOHVwdGNSRVBzUUZObHo3c2g5OStpWHl0c2xNdjJXYVZlZ2U3YTlYbEpH?= =?utf-8?B?dEpZNXlvbU9JaE1CUFdvZmg0UmxjNlJ1aS9nK1NvdFJHZWNYQ1JTeEFhQTI1?= =?utf-8?B?RW53L09KUWc3RjNtcFJpSlc5aFl1cjdmaDJmd0NlNjBvMDU1aEVwTTJsZlJQ?= =?utf-8?B?QlNFV2F1Q1FhZ1h2OXVwSFdlRTRtUkFmY0IxN3JRdExhcEI2dFR3RkZWK1J0?= =?utf-8?B?MzQxQUg0Y2hpOHM2eWNFZEgwRVNUcEZxcndIbHBYM0FnUFgvN0tGWk5FeVhT?= =?utf-8?B?NU1FT3VhWExjdWNDZE05eXpWQ2lpSCtidEtWK2RBcGJaa004bDhkUi9jMk5l?= =?utf-8?B?MUwyb1VaalVVODZrbnFuQTUzK1hZS1ZjVVpmWjM3RmxDM0pDUzFtTkVBNWEv?= =?utf-8?B?WEdqUy9HUjU5ZjJwUFpieFVyUFJ5ZnpRRVZPZWVGVHVTY2lZYmt6bkZIL1BD?= =?utf-8?B?UUhabFdKK0lwZGhEdzNTZnJ4dkdDSzdFYTRSVmpVOURwWDVRVk9LMTkwZS9I?= =?utf-8?B?ZTBMZkVxaWtVWUc0cEhZS25BNm1qcFplcEFPMHkvdFZRUHhBalh6c20zN1NK?= =?utf-8?Q?DA5n/CTcG84HnBJ+TkUmD2TmD?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 09bd3dd8-3148-493e-63b5-08dad7913bc6 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:53:20.0839 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: M00zbxXOAgLqdWZriLoLs7ORhkr/Bzb6jNr30jSQRdsAhPcGklpRMy35xScMf96eGyiFtv9CZug4L+XkWhVAmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8020 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1670334830517100001 Content-Type: text/plain; charset="utf-8" While plausible to do what was intended based on the name of the flag (PGC_page_table), that name was misleading and is going to be changed. It marks page tables pages _having_ a shadow, not shadows of page table pages. The attempt also didn't cover the HAP case at all, and it constituted a potentially very long loop doing nothing when !SHADOW_PAGING. Instead leave a comment of what actually wants doing there (which then also may need to account for e.g. the risk of A/D bits becoming set behind our backs). Signed-off-by: Jan Beulich Reviewed-by: Jason Andryuk --- a/xen/arch/x86/tboot.c +++ b/xen/arch/x86/tboot.c @@ -177,29 +177,6 @@ static void update_iommu_mac(vmac_ctx_t #define is_page_in_use(page) \ (page_state_is(page, inuse) || page_state_is(page, offlining)) =20 -static void update_pagetable_mac(vmac_ctx_t *ctx) -{ - unsigned long mfn; - - for ( mfn =3D 0; mfn < max_page; mfn++ ) - { - struct page_info *page =3D mfn_to_page(_mfn(mfn)); - - if ( !mfn_valid(_mfn(mfn)) ) - continue; - if ( is_page_in_use(page) && !is_special_page(page) ) - { - if ( page->count_info & PGC_page_table ) - { - void *pg =3D map_domain_page(_mfn(mfn)); - - vmac_update(pg, PAGE_SIZE, ctx); - unmap_domain_page(pg); - } - } - } -} -=20 static void tboot_gen_domain_integrity(const uint8_t key[TB_KEY_SIZE], vmac_t *mac) { @@ -233,8 +210,7 @@ static void tboot_gen_domain_integrity(c } } =20 - /* MAC all shadow page tables */ - update_pagetable_mac(&ctx); + /* TODO: MAC all shadow / HAP page tables */ =20 *mac =3D vmac(NULL, 0, nonce, NULL, &ctx); From nobody Sat May 18 17:15:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1670334857; cv=pass; d=zohomail.com; s=zohoarc; b=LYvisuMVi+rpQBDRGMGHueexn894l2awigdyNY6+WnOwexGl1KN2+WIaHHfNwxU8+d7T/mto/LDvqku9MdOTnELFYtGK0UMY46qZuFcoJApyyQwdEEtCDo9qRPZv1DJmG52b8pvbFyNP1h7DE20kPgoeSAiS3LuJZmIy8pAvZyE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1670334857; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HaQX7UlAJBNN43bq2jRmVma+04kX6t3hW9mNWKDJ9Vo=; b=Dk1X8BayZgORP3LXR+M3cxNd+PJlJs5cPx22J9AUSwRzmBv/usFvoJ1en8gk9IpjdTKiBRH9cxI/h3tk2Giik5ywAGnMpxkln1jr73g7TXV9crr8jPJmF9rP3kvbUrD9uDqXZrO9PDBvqChZUKsW6ObqyqT9ZQphhKRB9xujld0= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1670334857819622.7418228919445; Tue, 6 Dec 2022 05:54:17 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.454874.712437 (Exim 4.92) (envelope-from ) id 1p2YOS-0004fj-UC; Tue, 06 Dec 2022 13:53:56 +0000 Received: by outflank-mailman (output) from mailman id 454874.712437; Tue, 06 Dec 2022 13:53:56 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p2YOS-0004fc-PV; Tue, 06 Dec 2022 13:53:56 +0000 Received: by outflank-mailman (input) for mailman id 454874; Tue, 06 Dec 2022 13:53:56 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p2YOR-0004Xd-Pl for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:53:56 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20623.outbound.protection.outlook.com [2a01:111:f400:7e1a::623]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 63148b5c-756d-11ed-8fd2-01056ac49cbb; Tue, 06 Dec 2022 14:53:39 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM8PR04MB8020.eurprd04.prod.outlook.com (2603:10a6:20b:244::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec 2022 13:53:53 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022 13:53:53 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 63148b5c-756d-11ed-8fd2-01056ac49cbb ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cORUnGF9deRLXrgyuyL4xBcbJerVE/LWz20fXZUs7h2hTiLLFnak4Kv1W3OUqVQjWL1ST5HzHWe+Kw4hjiIzE2YRO15oZsDd1po6kH0YR89BNSkatafcuKcQ/3ggVBKPOvCrgOqqQN5WxEOyuF+uzvfJjrPD+if6gjKs7IyuRm4jjiN9HRq/FggswCh05QI8VlgPLPb+E6OiCQrsf+3FuwZ4PSqIjk7IVzeDQPR3CH2sZZq88oLX+c07dqC4OnpAgutOeRnrh9OwsXyEg/0JTJOEem7zHaBEfKmBJ3w59/ZINrGiZNT43BEULTI/h6O2Pvtrjy5AauDx3eJcSEv+5A== 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=HaQX7UlAJBNN43bq2jRmVma+04kX6t3hW9mNWKDJ9Vo=; b=EwOvfci4s43d7I5LHRr1nemztja+khOJGAlcrNEGApQsiFdcQTCLcmlNGtQzWxXwPu0W8w6ccmljHMYJZxLIssk7+LTF91j0NUzhClExncgzNDGL4IslRggGNbyt/HaZi+SpoTb+z7twRWgHtUA0KGeHAxRKiIwKu3PWHex6sA7XFiFl95sMiRS0ALsG39LFQUBkcQcAEJ/2kgRZExs54v13aqzeV6960wacFOCyfFT6VBGnT7NCvrXF9Oa+ZRcz072Jo0KwyHIOK9E/4i8r5BI61/oaBd3CaiLmPMoGI/D8WuUKSih1wUViVpS1myUlO9agEbLZVvuaO1e/B/qyZw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HaQX7UlAJBNN43bq2jRmVma+04kX6t3hW9mNWKDJ9Vo=; b=XzxsoEfHHSsizSeXB/gJ0elwJf1GXdCHrzIQOw6Gn0iLJ7g05J9ShzUc1q2Q8wYKmASitEompuQL0OTlMgOLD7zA2Iwg7w1E2CaMLoUhVmT4BeUQZjkTtNjMAflIz+kS5me4OwkH+jff69aS7Dc7m4NXcoPNaef0ruzRgkj5EbOSateHVu6JEBYXEpKLYGtU+cFI/av34qZB2hO9FmY1m3IeluRYg7n5cM4lzi/ME4AvPQbRdvNkjpMa2+ISloHIn/lV8LgrwBdB2BpxF7CIaEP2WtaT7aQfEaFO1mEs/VlM/jUQUMijsbgrKJd0YoT4bE8Ck1hr9CzuB4MIn5W/Dw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Tue, 6 Dec 2022 14:53:52 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: [PATCH 2/5] x86/mm: rename PGC_page_table to PGC_shadowed_pt Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> In-Reply-To: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0010.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::9) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB8020:EE_ X-MS-Office365-Filtering-Correlation-Id: 02e03e88-48b1-4faa-ee0c-08dad7914fa5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Pifqih2YAZrpZ5iByxrPizIqXz4WfC2dEP/1MAuaYlGNhih8y1nOuheP7ovFGxBS8uoly2LQcEOI52htu9N6DrmLYkmpe+/gZ2mFVi9eVS9dYKkESh8PY/s8PUwDfQ43qTvofgdmcohemTqBanGKo+bKw8i5dV+UkieE04Y/AVQxcusfTxrf0MEo0Hd7iggjqKiPnlTTW/8W0J+5daENapoOfCFA7o6fvlZF389ilnv5gu4LyoYrpGsc1dkSq1U22Atf8ckzUQYoa80OeJp4I+acMA5Oi7l/vYtwVZY8uunS7yGPM+W1SYr+eLRWIZEhYDrBE7RM8Ag7WGIIs9O/0TiPLvvaFjqecFj99+qDuc1oxgzR4yzdfwnYnSF1p9F54NGhp1dglxtVzW3DDcgtqbuNjylju+JmXHs7LirUQZOhB4ijpK0wGxDc7vmRc98mDQwj/ite8RIjP/MvIe3WHlU7fWHTFvgkTjtRSyG+Awqq84qCvkfIt0mu7ZI6ug8/E+GJc/QbrGnkjstib4hKf7JdPw11mAIPRpDpofxPq/Zxn68DVTjvRq0oe3zMhJCfXNzJk4uOBu9sao3XqqSEbZ4sSn28Z7cbxd7B/7nbm7oBBOyqBfUjB5mYD54FD+QeJmpzE9LPjoHS3RtSs1YNJDvsh9JenfzJ12cBV2GS9eIij5a3YpFh+iVvQ/X5cP2vSbtJIuzRcY+Vhj0kPcnnnKwhznLfzhDzUreECxNXcpQ= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(39860400002)(366004)(376002)(396003)(451199015)(31686004)(186003)(6486002)(6916009)(316002)(54906003)(478600001)(31696002)(86362001)(36756003)(38100700002)(83380400001)(6506007)(2616005)(6512007)(26005)(2906002)(4326008)(5660300002)(41300700001)(8936002)(66556008)(8676002)(66476007)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OFRKb3VESVNIdGduMkJoRGtoVVJDQkFnbGFSSHJDRGNLdCtJcmNEM0NBOEwv?= =?utf-8?B?cGszSGRtZmsyclBXMzlmNEZwWjRtaXZ3Z2d1QjlVSTg2ZjFtREozS3pDTzZP?= =?utf-8?B?b2NFSjE5TS85NEJLOFR2Y0FGYUtkY1p0aEQ5SEFkQXdFaVJyOWQ1aVNlb3lQ?= =?utf-8?B?Sk1pNmpWNE10QWM4QURFSlE4cHYyRXpyVCs3OFpRRi9qZmU0cVVzaUtzN3pk?= =?utf-8?B?bm43N0lkZ290Ukdiam42M2FNd2ZlVEdjSnNQQUE2Y1ppVTJYeFhKUGxhZDBH?= =?utf-8?B?djY0ZURjTmZ2SFRqbXZkQXFzMkY2QkVMcXVNcFpPelBpeWUycDRiRXUwTG9t?= =?utf-8?B?MHR0cTVoRDJLYVI4QmkxVlFyTk5WODhhNEd6NVVaSC96dWlpUUhpMTdPT3B0?= =?utf-8?B?WE4vY0pvZjl4T1Erb20rRW9iNjhUQm1UWDF1Z2I2c2U3MXVmOC9vbjZZUjdh?= =?utf-8?B?dUNTdHE4M3N5cWlRVlg3RUlUaEhPVXJwRi9nbE1jY3FUazhHandZOU9DWXll?= =?utf-8?B?RkZlZlZ5a29zMUJ6UkVrcEJEVGFWaUpPTnNGYTlPNXRZTUdkZXp1d0tabFVS?= =?utf-8?B?bWJJQk05K0EyTWdUOWtXckVQRndLTEJYOTBoQWp2SDFwS2t0aGtrV0pTRVhk?= =?utf-8?B?c3FSZVpwQWtTTFh4d2hEZmFJYWFIaHNMdjdIa2x4dGlzWTJUYXJ2bXdDRVVx?= =?utf-8?B?NVE3dWZucHA2RFhrRktaOFk5RGZ6NUNib2xITGZBT2dpQXhXb1M0Sys3bkVv?= =?utf-8?B?NEw0cGgxZDhtS3R6eG9KOUNFY0c3OHAwYzNWa2t6VU1hR0FQWGk2cEVKbEha?= =?utf-8?B?anEvN2JDZU43S21YNFZheCtyY0NVampNVnFRUTM1b3laZmFwUEVtL2xMUW9T?= =?utf-8?B?eTFzc1FWWWR6dlBQRk03bDY0ZG5WU2h1M3BGcVBIQWl4bFhIejMwOTNMb0lE?= =?utf-8?B?cHZPSzZDTDdlcXgzaWpmdldHcmJldjBqY0FNQXM2S1hCcG10T3BXTDZtOWx1?= =?utf-8?B?UnUvTlpWNy82d0c1QzFvNU1TNzZCQmVwRDhEb0ZjMVRaZEczVUxKWE5zSHJW?= =?utf-8?B?OW1hTUJHZUtTZUlsQlRQekZFWW1oTjF4RmhEMlNmTDlTZmljK0Y4RXMvWENN?= =?utf-8?B?WTc5VTFxQ1VlemJVaVd2bmJtUU9OZTIzR3Fjak11cndFZVRTcnJ2VEduWllh?= =?utf-8?B?Y3k3OHpQMFFYeVN4dFBNenFHNVJCTEx2dUtHNmYwNzFnY1lrVUVUdkRXbHNK?= =?utf-8?B?d3FJaDAxeGJON3YzQXlDV2FLMVlmSEtNektyamJscHJTazdEenRpa1pNdGpq?= =?utf-8?B?MWlVWG9wN0VSMWplUFpjZ3ZnM2ZKendHTml0UVY0WTVCaDJBSEltZmlHZk5Z?= =?utf-8?B?YTBsSHdQZ1F0cGk1NFVaeGRQZGZpR3Y3UlhtUHBianp2T3RQNjlyN2lHZFJV?= =?utf-8?B?K1NQcTJkcjZXNEVHTUZmKzlXeFNUQWttWE9vK1BaTkdqSkMrU2lCUllBRWFq?= =?utf-8?B?VnFnYkdZMksvVGduNThmYXdwUGJLVWIxNXBEZkhHaG5ER2cvUFBOUjFYcjdE?= =?utf-8?B?eHhweVYzV0ZFWkY4K2U2aWh2dUl3U21TQlVJMzB1aUVybzJlVTRnb0FuOUNr?= =?utf-8?B?NkRNREd3dWdqN1M5YjF1NGJ1NWZNRGVFNWV6akNScThudkZpK1N0QmVkb2lZ?= =?utf-8?B?eVloTXYrdXdGZkkxb3ZqRTBEb0JRV0VnTXlMbG5VSmJtam1RZG9RM2J3bTlF?= =?utf-8?B?MjhnVUh3ZTc1OGpGQWlLbzk5d0hxY3pIUS91VVlvT0xuVE51YktGZFZmKzF5?= =?utf-8?B?OXBuMjB2QVU5QUVyc2hwemtVa0NJcTNIeW9RVVFiVTlTVitzY21UanIvcmJZ?= =?utf-8?B?L0tEajFQTVJRbGc0R3Q1OHJnNS90ZXB1MUYxWGJBOCs0bXZ6dnJVZTZHcVpp?= =?utf-8?B?RmlGKys0UHA4REgzOTlFM0tYMzY3emRZcHZpTEI5UXd1YVljNFNSQW9IZHJY?= =?utf-8?B?Q3FaaDdVdm1Fd25oR2NpblhQL0lqelN2UUxKcWVKTVhscjNjMHpnUTk3MnpN?= =?utf-8?B?empJc21xQzRxR3NCSkpEbnRHRWswcXBRbmQyVVBNaks3RE8rb004dVNwcE5i?= =?utf-8?Q?4xzTEII1oJoPTeypHI2MfZYpK?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 02e03e88-48b1-4faa-ee0c-08dad7914fa5 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:53:53.4100 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BYMDL7R5oaeQLQrQC9gRQHUz6knvCUzszzxbEPa7dEG009I3oyyQKgTDBr1hFjqxQBJqDMPBX85wyVz8AYWXuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8020 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1670334858549100001 Content-Type: text/plain; charset="utf-8" The original name didn't express the purpose of the flag: It is being set once a page table page obtains a shadow, and it is removed when the last shadow of a page was destroyed. In set_tlbflush_timestamp() also remove the 2nd half of the condition as being redundant (PGC_shadowed_pt can't be set on a page without shadow mode being enabled on the owning domain). Requested-by: Andrew Cooper Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- a/xen/arch/x86/include/asm/mm.h +++ b/xen/arch/x86/include/asm/mm.h @@ -70,9 +70,9 @@ /* Page is Xen heap? */ #define _PGC_xen_heap PG_shift(2) #define PGC_xen_heap PG_mask(1, 2) - /* Set when is using a page as a page table */ -#define _PGC_page_table PG_shift(3) -#define PGC_page_table PG_mask(1, 3) + /* Set when a page table page has been shadowed. */ +#define _PGC_shadowed_pt PG_shift(3) +#define PGC_shadowed_pt PG_mask(1, 3) /* Page is broken? */ #define _PGC_broken PG_shift(4) #define PGC_broken PG_mask(1, 4) --- a/xen/arch/x86/mm/p2m-pod.c +++ b/xen/arch/x86/mm/p2m-pod.c @@ -803,7 +803,7 @@ p2m_pod_zero_check_superpage(struct p2m_ for ( k =3D 0, page =3D mfn_to_page(mfn); k < n; ++k, ++page ) if ( is_special_page(page) || !(page->count_info & PGC_allocated) || - (page->count_info & PGC_page_table) || + (page->count_info & PGC_shadowed_pt) || (page->count_info & PGC_count_mask) > max_ref ) goto out; } @@ -946,7 +946,7 @@ p2m_pod_zero_check(struct p2m_domain *p2 =20 if ( !is_special_page(pg) && (pg->count_info & PGC_allocated) && - !(pg->count_info & PGC_page_table) && + !(pg->count_info & PGC_shadowed_pt) && ((pg->count_info & PGC_count_mask) <=3D max_ref) ) map[i] =3D map_domain_page(mfns[i]); } --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -185,7 +185,7 @@ static void sh_oos_audit(struct domain * BUG(); } pg =3D mfn_to_page(oos[idx]); - if ( !(pg->count_info & PGC_page_table) ) + if ( !(pg->count_info & PGC_shadowed_pt) ) { printk("%s: idx %x gmfn %lx not a pt (count %lx)\n", __func__, idx, mfn_x(oos[idx]), pg->count_info); @@ -716,7 +716,7 @@ void shadow_promote(struct domain *d, mf || d->is_shutting_down); =20 /* Is the page already shadowed? */ - if ( !test_and_set_bit(_PGC_page_table, &page->count_info) ) + if ( !test_and_set_bit(_PGC_shadowed_pt, &page->count_info) ) { page->shadow_flags =3D 0; #ifdef CONFIG_HVM @@ -734,7 +734,7 @@ void shadow_demote(struct domain *d, mfn { struct page_info *page =3D mfn_to_page(gmfn); =20 - ASSERT(test_bit(_PGC_page_table, &page->count_info)); + ASSERT(test_bit(_PGC_shadowed_pt, &page->count_info)); ASSERT(page->shadow_flags & (1u << type)); =20 page->shadow_flags &=3D ~(1u << type); @@ -748,7 +748,7 @@ void shadow_demote(struct domain *d, mfn oos_hash_remove(d, gmfn); } #endif - clear_bit(_PGC_page_table, &page->count_info); + clear_bit(_PGC_shadowed_pt, &page->count_info); } =20 TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_DEMOTE); @@ -779,7 +779,7 @@ sh_validate_guest_entry(struct vcpu *v, // Ditto for L2s before L3s, etc. // =20 - if ( !(page->count_info & PGC_page_table) ) + if ( !(page->count_info & PGC_shadowed_pt) ) return 0; /* Not shadowed at all */ =20 if ( page->shadow_flags & SHF_L1_32 ) @@ -2266,7 +2266,7 @@ void sh_remove_shadows(struct domain *d, SHADOW_PRINTK("d%d gmfn=3D%"PRI_mfn"\n", d->domain_id, mfn_x(gmfn)); =20 /* Bail out now if the page is not shadowed */ - if ( (pg->count_info & PGC_page_table) =3D=3D 0 ) + if ( !(pg->count_info & PGC_shadowed_pt) ) { paging_unlock(d); return; @@ -2283,7 +2283,7 @@ void sh_remove_shadows(struct domain *d, */ #define DO_UNSHADOW(_type) do { \ t =3D (_type); \ - if ( !(pg->count_info & PGC_page_table) || \ + if ( !(pg->count_info & PGC_shadowed_pt) || \ !(pg->shadow_flags & (1 << t)) ) \ break; \ smfn =3D shadow_hash_lookup(d, mfn_x(gmfn), t); \ @@ -2299,7 +2299,7 @@ void sh_remove_shadows(struct domain *d, else if ( sh_type_has_up_pointer(d, t) ) \ sh_remove_shadow_via_pointer(d, smfn); \ if ( !fast && \ - (pg->count_info & PGC_page_table) && \ + (pg->count_info & PGC_shadowed_pt) && \ (pg->shadow_flags & (1 << t)) ) \ { \ HASH_CALLBACKS_CHECK(SHF_page_type_mask); \ @@ -2322,7 +2322,7 @@ void sh_remove_shadows(struct domain *d, #undef DO_UNSHADOW =20 /* If that didn't catch the shadows, something is wrong */ - if ( !fast && all && (pg->count_info & PGC_page_table) ) + if ( !fast && all && (pg->count_info & PGC_shadowed_pt) ) { printk(XENLOG_G_ERR "can't find all shadows of mfn %"PRI_mfn " (shadow_flags=3D%04x)\n", mfn_x(gmfn), pg->shadow_flags); @@ -2339,7 +2339,7 @@ void sh_remove_shadows(struct domain *d, void shadow_prepare_page_type_change(struct domain *d, const struct page_info *page) { - if ( !(page->count_info & PGC_page_table) ) + if ( !(page->count_info & PGC_shadowed_pt) ) return; =20 #if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC) --- a/xen/arch/x86/mm/shadow/private.h +++ b/xen/arch/x86/mm/shadow/private.h @@ -320,7 +320,7 @@ static inline void sh_terminate_list(str static inline int sh_page_has_multiple_shadows(struct page_info *pg) { u32 shadows; - if ( !(pg->count_info & PGC_page_table) ) + if ( !(pg->count_info & PGC_shadowed_pt) ) return 0; shadows =3D pg->shadow_flags & SHF_page_type_mask; /* More than one type bit set in shadow-flags? */ @@ -332,7 +332,7 @@ static inline int sh_page_has_multiple_s * domain is translated, &c */ static inline int page_is_out_of_sync(struct page_info *p) { - return (p->count_info & PGC_page_table) + return (p->count_info & PGC_shadowed_pt) && (p->shadow_flags & SHF_out_of_sync); } =20 @@ -343,7 +343,7 @@ static inline int mfn_is_out_of_sync(mfn =20 static inline int page_oos_may_write(struct page_info *p) { - return (p->count_info & PGC_page_table) + return (p->count_info & PGC_shadowed_pt) && (p->shadow_flags & SHF_oos_may_write); } =20 @@ -545,7 +545,7 @@ sh_mfn_is_a_page_table(mfn_t gmfn) =20 owner =3D page_get_owner(page); if ( owner && shadow_mode_refcounts(owner) - && (page->count_info & PGC_page_table) ) + && (page->count_info & PGC_shadowed_pt) ) return 1; =20 type_info =3D page->u.inuse.type_info & PGT_type_mask; --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -593,8 +593,7 @@ static inline void set_tlbflush_timestam * 2. Shadow mode reuses this field for shadowed page tables to store * flags info -- we don't want to conflict with that. */ - if ( !(page->count_info & PGC_page_table) || - !shadow_mode_enabled(page_get_owner(page)) ) + if ( !(page->count_info & PGC_shadowed_pt) ) page_set_tlbflush_timestamp(page); } From nobody Sat May 18 17:15:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1670334900; cv=pass; d=zohomail.com; s=zohoarc; b=hUhzdk67TWPSGnptfUfSNJ0Lr+18VeFLDNevBXLqd8SgQNLieSGZg1C3dQqJBBwhot+cHs/2tqHhiboOK0rxGJQH+vQHFFpzG17j0qeQft5Y0FHibJN80HGn5VuPfoqB1j5f2SW0eKKoRFLXQRtsgQEfvjgW5Zo68EVV3H4MBOY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1670334900; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Et5DDpshzeK44IkvBaMK0477F0uL2qhRcpoZlCJ7Gkc=; b=I7cLMpaJYpuF+FFA5kijJiAxf3qL3Gi6moi8hRK749zuWTf8BPbIn1Spajknziv0bOCmRk+nw3R7oJWY0Nl/mzrFT6SVBC5zdD2EotlVQvTieyvUQnRcHlOXv7YVbHbcVhU1VzY02h10VpZbnQcK4zxK66bVh+bK4ah0YVUi32E= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1670334900647706.1171973214566; Tue, 6 Dec 2022 05:55:00 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.454885.712447 (Exim 4.92) (envelope-from ) id 1p2YPB-0005JY-8R; Tue, 06 Dec 2022 13:54:41 +0000 Received: by outflank-mailman (output) from mailman id 454885.712447; Tue, 06 Dec 2022 13:54:41 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p2YPB-0005JR-5v; Tue, 06 Dec 2022 13:54:41 +0000 Received: by outflank-mailman (input) for mailman id 454885; Tue, 06 Dec 2022 13:54:39 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p2YP9-00049e-CZ for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:54:39 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20623.outbound.protection.outlook.com [2a01:111:f400:7e1a::623]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 85bf16fe-756d-11ed-91b6-6bf2151ebd3b; Tue, 06 Dec 2022 14:54:37 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM8PR04MB8020.eurprd04.prod.outlook.com (2603:10a6:20b:244::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec 2022 13:54:37 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022 13:54:37 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 85bf16fe-756d-11ed-91b6-6bf2151ebd3b ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lXFtEmNDgQGGnQJmLMj5JXYE1ZDmBbBALsIBXP3miDAJ7OkOh+bIiXgfswwj5tksnhZET3q169nMAaP5/uexGUfymYvAYulS3/MTbyeabNLs5Ay/xedfMdLBfyiHPzgd867l6grMwY460gEmLEOnniM8Yk4J5WtZxHEfdJSPdodLjyebZF7ldKxQgOw285YAIFt2DWLsL5QI1RSw0BB4ihn5XknD4G57dUi+XEk37eEBXaLGn8OrXA+ar1HEhUSezvEoI3Dxp5Ze8AFGxKAyoRlxoHTm9LwKT32hHToantLBJQeVbds729InM/hyU9eXo4dylw6LU8nWsB+2rTkVUw== 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=Et5DDpshzeK44IkvBaMK0477F0uL2qhRcpoZlCJ7Gkc=; b=NQw1M8FPCoahntbsBKPfZafUBCqe1cew5aEj7EJx+Nyduz3PiT0g73/7yzQa99bKtxJvWGUcq39oGTJLzP8nPDm3QuuqgnFT+L7uS85JOPfejDgLZ1bRlx5HC7kd9Q+SYfgvARmi8aZgPSnnS0Y+3ITgCSnHVooTOnuxGSNYKt3ckLmKetAgT4HJ5i1UBhD4+nHUzaoT4ebHA8CulxNHcgicioWm2MvvXnTxNSEvdTA4Ck3sKeF2xnsUJ3TzHO5zV7r6lvgwIXpqesbspbGGXgePjHetTl0MSRdDbZFw9+G1IH2uynAQPss+HiopMic5SB7C3JjeGZiPPa2D8v2O/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Et5DDpshzeK44IkvBaMK0477F0uL2qhRcpoZlCJ7Gkc=; b=CZojMhJ4BEo3H4tRFQiAtvGF2E/Rex8b5d7TWub/axgthu9528JXFzCJs2NoiVkePA3zkOr6Wh4r3emxxYEPkR5IqbvvD52QJ/KCx0vmaoseUsSer6MgLuaoNrBq3QlxMEwkoS1natEt0cFacIPTMIbjCdOmfeVu8gWk6rdLxnef/iixPulHhOMzVzI6bcz6Ryk5IgXcz5iewL7nY2qWdtZEWwvuZBflEANVv0Hj2HdYCf8uoO4WwUgOkkBxH1sp0MnCfmZ71zZreYCyx+5Xaq1/UMsxMADZNnzV/E4Ns6kV8BMrjk5A6N5jF9kGQs3qBk8/WFVJYIgcfSeqYvIuQQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <512cfa7e-00b8-6efa-89d1-c850ade61231@suse.com> Date: Tue, 6 Dec 2022 14:54:35 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: [PATCH 3/5] x86/mm: PGC_shadowed_pt is used by shadow code only Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> In-Reply-To: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0205.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::17) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB8020:EE_ X-MS-Office365-Filtering-Correlation-Id: 2229dd76-1f17-4761-ed3c-08dad79169c9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3uPvBrTZCXWrbQuOVrbXC0hIOwtnTThJTX5pJggZeSH7DgtjjAWnVNqixmBknYFpRIXmSABSz7AxZc7NPrTUXxy7Vy6eXkYnPUJkoyfjHqjKyCR8DEhgha71UPOQP7B+QZcgJj8tGcHJF6bd6V92N+3f/oOMjG7TNOBd+J2bA3sVYpsl4VMKPSvcAXxlejQ2NeJOPAPDm6tbmdtpBvJbcL6T4lco0HgNMxSfI67mGwYZ2miuV2J2QfMtyGNlKD2mN3Rp54etTH3JQr7HODR2wADImWUagFrn61AnxmhYNCTPaYKgrbghbZLss0jlumo2+dmAZ8C/hCTIHe5maCztM5T60y1uqMzz5oax23+UihNRLp/p34l3wzeZ6MJ4qrqscs7WGLdTtkX0OaW7KRbTEhUnMVYjqq8EuW5kRUNX8bjaqt2ysxnAhDPECYDpRs7My5BubbFJNj81eQexkS/Oi3U36qEy60sbK0BqnqrXRORluCxEeYKiF7e0dOeAO8cLMfDODZEkOWVzPi8W2K5S99Ukb970wo7wZpniIXdi8zZyGBq2ZRj+TDJv6bFFDwja5y9X5b8Hr+3mWWshb7Yc6mjfpZL+vfojCRKrSeah1mD2gOqimEzFZE3Ab/a7ayohp8gyCM9VyDtyemL03yqjduqF59ThNoeSfgIhBSbd7sXRGE3LQwcxUUwi1tf7aFg7mIvm6O2HetYZ4T6E4YWW1WAYRn+9+2X0YuAG6N62buU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(39860400002)(366004)(376002)(396003)(451199015)(31686004)(186003)(6486002)(6916009)(316002)(54906003)(478600001)(31696002)(86362001)(36756003)(38100700002)(6506007)(2616005)(6512007)(26005)(2906002)(4326008)(5660300002)(41300700001)(8936002)(66556008)(8676002)(66476007)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a2VtSVJielhURndJbDBGdTdTN3dIMnJiWTlpRmRZTWpnWVZwMmpQZDZjTkVo?= =?utf-8?B?c2I5K0p1ZDNPbi9qQVlTWjdjRXN6NXJTckp2YmxJSVhYeEo5WnNvaEtjeWZk?= =?utf-8?B?SmxoZkFvaHhiNE0rSnc5L2J5RWxPR0s0M2phTnVzMVllOWl0SExpV0xua1hL?= =?utf-8?B?bTNjdTlEaFpBdWFsRFJ5angxUFd2OG9DdGFTWXBnQitKMlBHZU5zenpmY0cx?= =?utf-8?B?QmMveE5yMlpXa1VLajlLdFczOVBhaUhKdHRFT3lObm42VE9ybGlDUHI4ckpT?= =?utf-8?B?c0RpRWFEMkMrMHhKUjdiZ3YrSmpYOFN0N0hGNk03Y0NlcXZpbEk2VktWVHdn?= =?utf-8?B?K0tOOUFnK05iUmkzbGhOOG9OTUh3QWZqSm5tTFMyUFpUVUZ1Ym5JN2FUcW5t?= =?utf-8?B?emtBUjhGejZISWhKQ3Rxd280cFh3MlBoZVJMWmRFZlA5blNGdjlXcUdjenUr?= =?utf-8?B?TTd3ZCtCb0xlV2UrMm5lT3JCeUxCcy91bG9sYnIyRlpQSzF1ckxLeEFRakNm?= =?utf-8?B?aVZBYUduS3g4Y3VrUzR3bHpWaERlQlhaV3QyV2hqNlZRNkg1SkJGVFNTY2dp?= =?utf-8?B?V0h6NEg5cDhhVDlTMEprUTZLOSttYkVUdllLQm01RC93UWRiKzZhRmlFTFdT?= =?utf-8?B?OWlRTTZJdkdmSE5BNGJTL3ZmeUtuckp0Nmg3QzkvWjB3VUJXTi94bldSTWdV?= =?utf-8?B?dHhUenpUeE5sdEhBdXUrbVFxN0FLWVM3eWcvQ0xjTERKWTA1TkZPN3FPb1dW?= =?utf-8?B?NDdpOG54VlV1VTdsMmdGVWM1c2w2RHJ3WDJCcnhVODA0RkROaHhvajVJRGxa?= =?utf-8?B?U2twZkdwa29WZlprSnIzK0ZVLzVWWHJSMGhaYkt4MmIwMmV6MDQvZzVMOEpj?= =?utf-8?B?bm1ZL2VvWXhTSy9zMFBBbFhTMUlMVmFSSnhLNHM0T2tIc2plSjh4VzVWNUFE?= =?utf-8?B?alVlL2xVZTFUY3RqdGwyUWZOQnRPMzlVMllBMTZ0dCsvNkhHQjFpSStQTHl5?= =?utf-8?B?QlhoMzRZd2duYSszSlNzVVcwMTJTN0FROXZnM1g0TXhIWXhlckRCdWRkZ0pW?= =?utf-8?B?b3ovL2JKYXIrbkRCZTlKeDV0SXo1RTJ6VTJoVUpaUkczdnFoUHZueGdMeTJG?= =?utf-8?B?RG5xVDhsSEJpODBDeDB1ZHFzdnVZSDRicmxhS1F2SXNZdmJwS1REL0ViR25q?= =?utf-8?B?c29yb1BuTnR3bmNNY3pMUU85N3NTMWt2N1ZzZ1FuSHZwS0dUTDZlM3JacHFD?= =?utf-8?B?R3hDeUJaeTR3dWdKcFh4NmF2OUNYZTRtMmZacDQra21CNkF2L1pPd3dwWExL?= =?utf-8?B?cE16dWVydUdzSGZQTjdDRnNVRS84UjU1UURFZi9saUJQZkZWckpZZWF2WFlj?= =?utf-8?B?SVlBalBac1MzcHFnZS9EaVdYeU9hUDlXcWhXM3VHeXZaQlJEVXl3aVFGNzd3?= =?utf-8?B?QXlSSDdac24yVUVyaWpub0FxVjJvV05jSW9CdUJuREtSaVEzVXlZWEQ5QUJu?= =?utf-8?B?c1FXL1p0VW45TDE2d0V0TnYvQ0dTcnBXNFlBdVN5SEtrSWxhNnJ1L2tNWk1s?= =?utf-8?B?d0hzSDlmVHNlWmd4NEpTU0IrQmFCTDhGZXExM0lGcTRkOTduaGZOMUZaVjcv?= =?utf-8?B?eGZ4UE1Vc2NNQnpmakJjQ3JEdVVFbTVHdWdGUzg2NEFIN0doNWpvc2ZVTkhm?= =?utf-8?B?UVJFSGcyKzRZeW83d0RmSVBnazFMYndpblVSM0JVaFBzOUZuR0k3NE1DMlYz?= =?utf-8?B?Q2tVQmU1RXgzVkhsaUZLWE40R25hbjRZTXlnODZ5WWo1RjFyekpVakNVWjRW?= =?utf-8?B?UVFhSFhIMzRvajBqdUhBbEhGNS8ybUZoZkdHeVkvSXNKeEkzSGgwZUVmbjVO?= =?utf-8?B?Tk1TKzd4OWh6NlVqOE54SzFldUtzZ0MxVXkyRzRkYXVnTllYeW8ycFAya09j?= =?utf-8?B?M0hPeGZVVFVDb21KWHRkdGduSk1xMGtZZFJXUHNVd2VZRGlEZVQrdTBBR3RT?= =?utf-8?B?L2pGLy9aeUlYSHdaZC96cXFkR2V4cFRPVVg5dWY5RWRRNWFma0swS3BlTHVo?= =?utf-8?B?NExVcEdYbUZTWURGcnNYZlZGdjZ6N3RQRyt4T1ZsS3pSTmRpWkc5WE55WGth?= =?utf-8?Q?EzO/7x19FYKHjK4jj90KclBNw?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2229dd76-1f17-4761-ed3c-08dad79169c9 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:54:37.2511 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gZczWVMiH1kaeze1aBlz3cjsuxeyEO6rsznBlC11Ff42oBzG+c80KS2G5PlRsLPIitqweOlFl7PYKebtDOehRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8020 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1670334902592100001 Content-Type: text/plain; charset="utf-8" By defining the constant to zero when !SHADOW_PAGING we give compilers the chance to eliminate a little more dead code elsewhere in the tree. Plus, as a minor benefit, the general reference count can be one bit wider. (To simplify things, have PGC_shadowed_pt change places with PGC_extra.) Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- a/xen/arch/x86/include/asm/mm.h +++ b/xen/arch/x86/include/asm/mm.h @@ -70,9 +70,9 @@ /* Page is Xen heap? */ #define _PGC_xen_heap PG_shift(2) #define PGC_xen_heap PG_mask(1, 2) - /* Set when a page table page has been shadowed. */ -#define _PGC_shadowed_pt PG_shift(3) -#define PGC_shadowed_pt PG_mask(1, 3) + /* Page is not reference counted */ +#define _PGC_extra PG_shift(3) +#define PGC_extra PG_mask(1, 3) /* Page is broken? */ #define _PGC_broken PG_shift(4) #define PGC_broken PG_mask(1, 4) @@ -83,12 +83,20 @@ #define PGC_state_offlined PG_mask(2, 6) #define PGC_state_free PG_mask(3, 6) #define page_state_is(pg, st) (((pg)->count_info&PGC_state) =3D=3D PGC_sta= te_##st) -/* Page is not reference counted */ -#define _PGC_extra PG_shift(7) -#define PGC_extra PG_mask(1, 7) +#ifdef CONFIG_SHADOW_PAGING + /* Set when a page table page has been shadowed. */ +#define _PGC_shadowed_pt PG_shift(7) +#define PGC_shadowed_pt PG_mask(1, 7) +#else +#define PGC_shadowed_pt 0 +#endif =20 /* Count of references to this frame. */ +#if PGC_shadowed_pt #define PGC_count_width PG_shift(7) +#else +#define PGC_count_width PG_shift(6) +#endif #define PGC_count_mask ((1UL< (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1670334989447118.88435756854551; Tue, 6 Dec 2022 05:56:29 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.454890.712459 (Exim 4.92) (envelope-from ) id 1p2YQc-0005wU-LT; Tue, 06 Dec 2022 13:56:10 +0000 Received: by outflank-mailman (output) from mailman id 454890.712459; Tue, 06 Dec 2022 13:56:10 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p2YQc-0005wN-II; Tue, 06 Dec 2022 13:56:10 +0000 Received: by outflank-mailman (input) for mailman id 454890; Tue, 06 Dec 2022 13:56:09 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p2YQb-0005wD-AD for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:56:09 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on0625.outbound.protection.outlook.com [2a01:111:f400:fe0e::625]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id bbc92098-756d-11ed-91b6-6bf2151ebd3b; Tue, 06 Dec 2022 14:56:08 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by PAXPR04MB8670.eurprd04.prod.outlook.com (2603:10a6:102:21d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec 2022 13:56:05 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022 13:56:04 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: bbc92098-756d-11ed-91b6-6bf2151ebd3b ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hyPlGV8dX/tnNGnoMmJYL9xDZbKyE4moXoTdRMWBfihBxXtIYJAxdltot3faedhjh62SOII5LvpYYThvWm5HyKxRy59K2eygNUaQZ4wM0Dc492RMvNzHYcXejeWkCkBkedwDkHsYucuXekZrciHWTih5tFlL7tlBg/7I81xCy4IibOuy5ngsCQ+ot11emGolqAyov/qSZGOleyVq75j75ymFBpTU5v+I8wMoUQ3CZO4QITrSi2TyDSX5ZXXfCWZ2JPyCpMIkKPsICujygDQ7HZMmAFGgiImBURALvoc+VBAgpIwXu2j5go6gqvyeTqkx+G2LViv4kmBgi/z5TCRoFg== 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=8k9Cg9eVliAtip8iorn3Xux77iG61ZlTqy6/GtyMv9o=; b=YJG0Qxd5BfLvxYyhoUZosTVrQVtFoLqstzghpboucA1i9PQC7mqygASANApNw2TKXpnuXQPERR65Zpxcz+HbPpFpmyfWWqlObERgsoILvPYuzKzmo9NVjT5CpESq+ZWGPg94Ac87gyczLI4kl3rdV/xzTAMkZAodIEDL3ljUgy4zIkPlvb8mS5pRmcq8RLwrfujiDZP6u1KaWqKzdMgaqd6R3+aenH/ip2iE7aCP2/ZikIC/FySmYtWRpw/ImJGlsvQK5plA/X4kB8mvlnK2z6U+2MPQUvRPgdAerkd+F3975HXd2aBOKDEr5pVPFIUlhjzfEjQNV/g7vD1XpXmNMA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8k9Cg9eVliAtip8iorn3Xux77iG61ZlTqy6/GtyMv9o=; b=pOSPqAKsBakrtZ/uHI2lTyLBAH1Hwvkx52/12HwstX0bbu2PyuiYS5EOfwhSBNQkLVa5JrXVpuBmBOx0nCKXIppl7gEKGq+Cy9HAYm0asBnLslDuW3AcL8yCOJDC2FH2o3zTUD6RlwPlQCHNfmXu7K9Lt+7flNb8QUZpfZZ+dmzHfd4q0z7nAvV6021PPGoTnhGcGSCMlxAFLkoNiFyUymov/XMVgxOEwUcnwPBmiyC2r1Ur5F+aAmjJCzGc+OLhafwOx1kPBMsMSfPMlbC0THJIP1RDcYvi9b7PwvaLC9AZWF5qNCKwVRYIBKajIsz7lJK6Cn0dFUp8sxVmQM2Zmg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Tue, 6 Dec 2022 14:56:03 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: [PATCH 4/5] x86/tboot: correct IOMMU (VT-d) interaction Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap , Lukasz Hawrylko , "Daniel P. Smith" , =?UTF-8?Q?Mateusz_M=c3=b3wka?= References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> In-Reply-To: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0166.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a0::9) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8670:EE_ X-MS-Office365-Filtering-Correlation-Id: 7ead8991-e37a-43c5-c6fe-08dad7919dcc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zF2NeH2QFHYGf1V0dqa3VfRfDDg2pYkxWxIxF6emNFx8jETssaFVDhYz8fbKonNS7ofOLN0tmNP+Q92Jqm+gWx6G3GiEVMMCx3fERwpohfoA8Y7yMcPPbGlOyDsAty3t23fta2qLX5Pt3LwbtjUNVCUnvWETz3065jcwu/VHyFLy9+aNE7rDOIMcwoJnPuONTq8YTVd6pYhelGNQ3jg8Ek/AuA+7ykK4OV891m8RiFzb7v9WIsnhx+cOJ7IJRhfVrcGp4VMTUloq1Bn1ZMR0aD4J/hnipobqaqc71lIZi0ThCIQiij11Crd7vcxuST75KkNo9wg+ENdlUv/aRkoUC6nIzsMlxWwCuSTgv1//nA5QsnExMcOfor4sDr6LUaJ1ESIHbNTtIrdVnG+PG3ZiNK7eFXjh8AyNUqf6suPfd2h2/nq4u8+6RxsmQthJb7nObnQkFhYa2SKHCmDc/Bw4nTAQcoqmQH7Sn5NmByt/LARhScCxHnLK0B36JJQdXcrv66fDw7LE0lxIu6/PpLa6SVQLRNIN7g6Wdm39IQ9rkraL0qn1o9alE8hvr7v2bK1cqvMnM+CyNjHYTzF9yjpW6y99P6robqxzAw0L6Mscr2pjzo94FMUfZZyZ07vnNTSQpR96vvXx8RpP0vi7XnPIPL939usalooPJ5X2PzmFK1Q2qo2mNXBP+aauTWC06mKY/Gt7+mRi1s45cQwdBiPKhwghbyWxo/Yi7vM6PCYXod4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(366004)(376002)(39860400002)(396003)(451199015)(36756003)(31686004)(38100700002)(5660300002)(86362001)(31696002)(8936002)(2906002)(4326008)(41300700001)(83380400001)(478600001)(66556008)(54906003)(6486002)(66476007)(6916009)(2616005)(316002)(66946007)(8676002)(186003)(26005)(6512007)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cU1heWxya3JuUkhXK09sWDZodHNCUmx5aHo5TTR6SFlmbVZ1SWp5UzVsZnQw?= =?utf-8?B?dFpUTXJ1L3JLM3RubnhQclFyK1BXOUhZQytyR0RSUi9vOTVuQTFabmhlMzJG?= =?utf-8?B?NUQwSUJXRXloVTlKTWhFVFdtZWpiT0tOUHI1Sm9CYXNJeHhQQjRqdkZ4SXZ6?= =?utf-8?B?QldGOWFJdVlZYkNhSlNiZHZPN2RkbnVsK2NxR3BJM3hqYUxoS3hXL0FueFh3?= =?utf-8?B?WCtGU2pESDhLMFZ4WDRRMDA2UGJhcjF1WVdhckFneHU1UCtrR0NMeWVTak90?= =?utf-8?B?Tkc2WUd5dGN4UHJKU3pzNkJXblpsWCtEcHNCL2xxNTVYSldmcWR6amo0bi9o?= =?utf-8?B?RURGR1AyTUZmMDJqNGpBenlaeHZwUFcrckpmUW41VDlqYkJKVk10cGVIdU93?= =?utf-8?B?TEk1bGVnZ2ZYbmd5eldCT0NhUDdHMjd6WXFsSVJ5L3lVZmE5dFl3UERwQVVi?= =?utf-8?B?cUlOdEJlU3B4YnRGdzZiQXFqZ3lUQ0tkQUpseTQvVnI0dUQ0SzdYeVNFZk9y?= =?utf-8?B?cE81T3V3SE9lQVozR1BOcVh1bHBUZUVMeVN2L2pWbTVQVlJtK3VkL29jUWcz?= =?utf-8?B?NnVCODcvcDhVV0QzNXhXdFpIV3BxcDJsT21ueE9xdUNxSmRtMllxajJXNUdT?= =?utf-8?B?VlpVU1lrN3pLVUVPYVZkYi9SejRPS3l0YzZQVzZRNkVyNEh3Y0FGRFJiRUpR?= =?utf-8?B?aVNMcmtHbmxXMzFyOC92V1FXZXhaR3Z4YWZwYXNsbUMrOE5qbHA4Ulpzdys2?= =?utf-8?B?UnYwZGVDMHhuUkNYbllxVWdwZGRVSXN2WHFDcmpmSTZjSVVHNDVHVHk1Rkly?= =?utf-8?B?b0lxYldQZmxvQURxelZBQ2w3cjl0Zys1WmF1NnUyRWlnUGZxeVpGYmVXSDhH?= =?utf-8?B?Sk43dTBzZ3RSVzhkNFJ5NENRVFdhc3F4bzlCSEk1ZUpZUDZmbUNOWFJxT2th?= =?utf-8?B?MTJWSkMxTFhNWFo1OFIvY2s0NE8zWWFTWWlub1daaTZyLzVjUlQ3N3VTaFJN?= =?utf-8?B?YkVCd0x3OEFkY1drdERlY3ZRUWhXNHhtazlZV20yaUVUR24yRWtWdkUvZU5p?= =?utf-8?B?M0NxZzZYL0JtN0FLMGZxOGxpRy94YkpKMEc2ZmJHSzNKcTNaTzlvUjRkWmV5?= =?utf-8?B?WmdsTFFGT3lYRk5nVUxEekc3Y1crSytvQjdqeUVHeXAvN2lVMUVZV3BYbmdD?= =?utf-8?B?dVhobHh6SUsvWmRBbVpxYWdWKzQrL2xZSUViTnRETUl1TVdpR3ZqQmZ3ZXF1?= =?utf-8?B?TEFSLzdiMUJXZk4vN3gvTFk5QU0yeTZMRmJMK1VqVGFjQWQ4TXpQV2ovNk9n?= =?utf-8?B?ZU9ITkpwTnRSck9kK1kzSU8yVUM2K0pEWlVhQVNwZHBMejVoRk4xZ0VhVWpZ?= =?utf-8?B?NXJVOUZBOE52RUVnRCtFbDRVSVc1a1JxeCs0VkdTWE1qOHhEdlMvbkVSYTNV?= =?utf-8?B?Nm5aR0YwdTFnWER1YS9kaXY5d3VNT2p6RGwzeS9TYml5S0YrZFVEQUtibUxx?= =?utf-8?B?MTRWcVVyVWh4SGRML2FIc1k1bktEYzE0cEFUMVdCZVFpd3FINWROR2I3RHRH?= =?utf-8?B?bzh0OVRrTFZvUUttU1g2RFlMSHYrTXFsSmVXZG1vc1lhSGJ1SEFDcEFUcFF6?= =?utf-8?B?am5LWlpUK1BncW1kUEVBMHZLZE5oaFVTNlQ4cnhheXg3Vkp4aHVlTmhocnp1?= =?utf-8?B?WjI5MXNURHd2SkJLQ3ZGTm12TTd1MUVPc3Blbk8vMGtHT0dOZ3A2UjdPRlNq?= =?utf-8?B?R2JEZnpBbEMvVlBJM1FnL0J0UEE4d0hnNEE0SDNISGVmL3lPWmtoTlpPUita?= =?utf-8?B?TTlxS0VHOVJQSVk3VmtIdlpCckhwaDZrbjdNM3ZZT0hybTBPOTRuU29hSDBo?= =?utf-8?B?a3pmYkNmeW01Y1FBN096NUJyYnVwYmtISCthUjZSUDdOZUF1VlNvdUVqOUQ4?= =?utf-8?B?YnR4UjZzMkxld0hZQm9VZEtsM2UrYnVYZWdkWDdZWlJ0eDJUQWd3NDR4YUtE?= =?utf-8?B?VVdQYTJVaHJHNmh5T1FnUUxTVitaeGdFTGhBc3VHV2FsMkV6Y2V1M1NKbllF?= =?utf-8?B?YlRCU3JmS2JTWDJZcGd3UWJ4Q3Mwb2pZaHNmalFIaUUzZXYrSElFRDdwVnk4?= =?utf-8?Q?DzFnFf+oimaE4pqwCueWK8RmP?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ead8991-e37a-43c5-c6fe-08dad7919dcc X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:56:04.5269 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: TyiK2i1GuH3pNeD1f0Ma6VfNt/q+GKnxC3L2g+fUXAY1NZQ57ITGvmvqGF4W2kEjOxFJO0+lYY57HNo6Wo039Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8670 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1670334990208100001 Content-Type: text/plain; charset="utf-8" First of all using is_idle_domain() on the subject domain in the body of for_each_domain() is pointless. Replace that conditional by one checking that a domain actually has IOMMU support enabled for it, and that we're actually on a VT-d system (both are largely cosmetic / documentary with how things work elsewhere, but still). Reported-by: Andrew Cooper Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper Reviewed-by: Jason Andryuk --- a/xen/arch/x86/tboot.c +++ b/xen/arch/x86/tboot.c @@ -31,6 +31,8 @@ static vmac_t frametable_mac; /* MAC for static uint64_t __initdata txt_heap_base, __initdata txt_heap_size; static uint64_t __initdata sinit_base, __initdata sinit_size; =20 +static bool __ro_after_init is_vtd; + /* * TXT configuration registers (offsets from TXT_{PUB, PRIV}_CONFIG_REGS_B= ASE) */ @@ -201,7 +203,7 @@ static void tboot_gen_domain_integrity(c } spin_unlock(&d->page_alloc_lock); =20 - if ( !is_idle_domain(d) ) + if ( is_iommu_enabled(d) && is_vtd ) { const struct domain_iommu *dio =3D dom_iommu(d); =20 @@ -444,6 +446,8 @@ int __init cf_check tboot_parse_dmar_tab if ( txt_heap_base =3D=3D 0 ) return 1; =20 + is_vtd =3D true; + /* walk heap to SinitMleData */ pa =3D txt_heap_base; /* skip BiosData */ From nobody Sat May 18 17:15:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1670335062; cv=pass; d=zohomail.com; s=zohoarc; b=DLHdNnok1i2uFgOVMc1G6vzPRr5pp3yD0TakIGuuMgPyWN6MwSSFUCLi9XLzpLUZOMtA5tqFGdFNCiNwPki4QfpdUJ+tViXIr82tMYxuhhrU5bV00k+TtI7yg6zDUQz/yXxcvyoQoeOhKjpuzvgnQIL/PvtM4x6H+79u7pTZ81A= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1670335062; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=8P+ZvvlWseJQ7rCEbvxjpP5fORRzmdqcqG4aQ2OAwuE=; b=BNWz/3K1lfaWQFDOfLdAmGJE5L8H3CuhNtFyE7i6784HzIGHs/0pnThKrw+bfA1swUltYB1eZvyxOPwNH6E/IB9kLclAsowUjIKqfsxS8LZ8lYC+4B0AIm6ZqudMSv2lVgevFY63eYHb6T4UpNPk314RlROb57zWn3jj/fEVcQI= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1670335062125722.9643687129214; Tue, 6 Dec 2022 05:57:42 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.454897.712470 (Exim 4.92) (envelope-from ) id 1p2YRk-0006Wr-Vn; Tue, 06 Dec 2022 13:57:20 +0000 Received: by outflank-mailman (output) from mailman id 454897.712470; Tue, 06 Dec 2022 13:57:20 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p2YRk-0006Wk-Sb; Tue, 06 Dec 2022 13:57:20 +0000 Received: by outflank-mailman (input) for mailman id 454897; Tue, 06 Dec 2022 13:57:19 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1p2YRj-0006We-Sy for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:57:19 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on0604.outbound.protection.outlook.com [2a01:111:f400:fe0c::604]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id dc822b37-756d-11ed-8fd2-01056ac49cbb; Tue, 06 Dec 2022 14:57:03 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by PAXPR04MB8670.eurprd04.prod.outlook.com (2603:10a6:102:21d::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec 2022 13:57:17 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022 13:57:17 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: dc822b37-756d-11ed-8fd2-01056ac49cbb ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D/pyHkZZIu4T3K+8/r8ATdkXsupm0H9aEMV2ikEKf3wTXcRzbIVLQsGmTJ+mnwUnF65cDePIkQSmn0ZWQ/sCFpCr1si2dSB2Q2rbA3qnD3ZPDTo4uPd57yoOD1NHqScEizEG21xlYQCzAg/4pQ7BK1za6ZjN5XVspRMjNTLWsyBFNs4HFKD+2nLh00rIbFxbOw03WlIICQzUGGEX7yNg9FrJnTxTwZ8SyRDA5d4aK93+IBDoTwWoiKj68GrjJjijpWdjGmm2/XfXAcMyZ3F7E/fMmZIq84oTMHP3X3hP3YV2Ka2l2RD6HkBM6/tFVUQDZ/5ZwDVOw+TXxkpPZiYsFw== 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=8P+ZvvlWseJQ7rCEbvxjpP5fORRzmdqcqG4aQ2OAwuE=; b=JUEirW6I2jC3S9g3jYj7Ou9pNPy8R1U6MlSmy5RnWYbG+U9+Z0k9cQFgXeXwl0NAYSjFBj0f16g0RVS/1NEb0jWrBl34bgIoEaZV+2L8FCIyFFl+9nGiM+e4N4uCnicGs4II7yVGDaKVqkGIfz1KMkNOrnN7u6gJ/GFcnGVGMzypZVch3QZrPtdxOK/5aZ38V6uojyZ+hcBkaxuwj3kKS1t3VXLtVt3qrpvCF82t3+HbDqP8UgA4Z9Hyd5I9/doJh3kGv+IofgKDqOgADnSo90I4aoxudYD0GizbripIZPBUi/LcRdbMSPJjX7+mm/Zhb4K16KwU2VIvma1dHJyZyA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8P+ZvvlWseJQ7rCEbvxjpP5fORRzmdqcqG4aQ2OAwuE=; b=tZZqIK2PdlwKp5Ik6UAudZBEhg5JTkqPNev939K0znnpzz00HMlYqs+cAw9ak7rdPrm3LabtZ9gBnSaXa/HVl5/Y0docGq6jG8eUY3aGD2egunQGoUUJyz7UqMRhL1S8lfTJPtnIZBXDumxYkD8aY3mTDEb/U4WEd5LmM3Qo8Ub5qU84LSeT5fPG0UBFprbRZSpHzdP04SqaVaWLNGwmDRZV7xqFCbbCOvvuqrMTU+ERvowf6EYNuqPIi9zVwFxW2yWQDMpPsd7qVRAkMQDzG0fIBZMPgkD8rGYmTD52LvyXRHOyv2teZWtq6hJSX41MnHVmAzZSf3o4ylFaardynQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <028fc34e-8a39-b0b5-34bb-2c96a82fa452@suse.com> Date: Tue, 6 Dec 2022 14:57:15 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: [PATCH 5/5] x86/tboot: actually wipe contexts Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap , Lukasz Hawrylko , "Daniel P. Smith" , =?UTF-8?Q?Mateusz_M=c3=b3wka?= References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> In-Reply-To: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR2P281CA0011.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a::21) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8670:EE_ X-MS-Office365-Filtering-Correlation-Id: 3f977624-e6ab-40dd-6566-08dad791c913 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8NO7GVKCIvj9aYXP+YKxIqqmeis+dFmLKUJYYX2/LVZyXx2c5IiPXinF8myi9fE91edbRJCJ6iBPnFsTaM7dlzQFKNe7t9sjFN4AmEARlCkM6UsRfzEbwxnv4Eo5uN/ytReX8F2uYpZiL8rI89Gc2eQdFMdSfjYr7vIAzpJPE0ZDsRnDGWRjJKy2p88eKjd53bofqztbih7Yo/Ji5u4Jjp4FBAwOJEw5GJ1uOVgpSFP5rE21RVlB8QdM1Sq6El3F3bRMtzI31E+EVouHRv2ihqcRg+2PQDEH3/ejz3qp8y01O0V734I0ghYiIwDpqyfsEQEn2w6JWiVJwwQw4bwpTcPwl8MzUV5H+mkbdUgyhJmAfUIAhIM/QsSbizfvtnSuDKRH2xwD5fp+b5QtEFcCnEBY3pZbPps6wCWglLX55IafS2Mt/TC6Amx+/Od9zMLPM3RytJ9kERmN/LBW8ZADv+hTY2gpD1tsNZpuT8ZqeDJl17f9oNVy4GEGLTExu21UmsbImZ2kB9S+MD8waY5K1J9won+y6JFNKjdg3f7obcBRJqYPbFkEMdo8qkGxPfWLZHnZTBAH52OXvil4QNx80bGEY9nBC/S8uL4+F7BvmKqhhljdya7q+HuqpKNUZ98ULZwi0tltJKVZknWi0MdMNmMtv5nJ5xblcIHuMf7qEbLUF06Kf9YkjI+/FVnCeqxfi2IeLJPgIsTpb72iAUruB9FKXLIrWPrzrrAsDulfbqU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(366004)(376002)(39860400002)(396003)(451199015)(36756003)(31686004)(38100700002)(5660300002)(86362001)(31696002)(8936002)(2906002)(4326008)(41300700001)(83380400001)(478600001)(66556008)(54906003)(6486002)(66476007)(6916009)(2616005)(316002)(66946007)(8676002)(186003)(26005)(6512007)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QmlGQWJ6ZTBQbUluZ1piMkN5ZnlrYVRJL0ZxNFJpTmRSZm1GTUtmTXpsbkIx?= =?utf-8?B?WDNMd25qSlA0VUZkeGlXK0lwNlB1NFA0MGFrVFBHV0xMaDhKZzl6SzNmRTcv?= =?utf-8?B?TWNzQnczREhYcWtCSVZiUnBzUXVab25mOWhET0szWktEY25POHRiOG1KOXNa?= =?utf-8?B?T2UyR3k0Vk1QWDU3YkJDUThlN0hOYm55Q0FMRnc4S3dHa0NyUzZJWnZPL29l?= =?utf-8?B?b3FLNjBaZUN2eS8wK3d2OS9tRXd3T0hNeklKOTRvWmpSVUZjTG91L3p3UmlC?= =?utf-8?B?c1RVN1h2eThKRzFtakgvNlgyQjRKYlhyVXNSSzd5RjFiUGtJT3BzMEJybmJ1?= =?utf-8?B?RzRmd0lYR3I5aHBQVWRVcHEwWGZkeHdRSU1jaGpoMUowWm1wMVZXcWg0dy9q?= =?utf-8?B?N3k2eWRmZVIxQ3RmNzA1UExlVHROeXY4ZzVNZmdMSmxjdkcwWWFWY29iV3dT?= =?utf-8?B?NDVOQitLOVQyeUtncCtTVjZzNDVYR2I2MHdKelN1cWgvSHhMcjhzSTZqZ05Y?= =?utf-8?B?U3Z3enJuMFhQL3pacWl5OGJtQWtOcS80SjRMRThJcVZhZm9tM3ZFQUZLaGx3?= =?utf-8?B?QmFJYnFrS0t4VWV4V3JTNW9xczNsVUlYYlBtcHZ5V3VYeC91VFVoQ1hvZFg5?= =?utf-8?B?bnBiV25GTEhqU2Q0S0k2YWpNRkVxMVdJUFRiY0h0bkdRMlhzK3RITjF5L0F4?= =?utf-8?B?VU1aQnVqaWZvQTc5V2xoWHVRMzRBc2s5ZTFGZDVqY3lkTzRUV21wcUhZaVRl?= =?utf-8?B?NERUWXF6NnA0WW1YQUh3bmY5ZFJDTCtnaS9aY2NTZ2pEZWJFOXd2Qi81ZWtx?= =?utf-8?B?eE84SWU5VDk5SzY3TzV5eHhIMTYyMmw5WkFlMGZVYk1FVzQ3RE8xTU9ya3lC?= =?utf-8?B?WmhMeVBCYkViV2lCM0gxd2VuNVk2cDJaN3B0LzNUVHQ1dnlDTmF1SnRZY1Rz?= =?utf-8?B?ZWhIeE84ODhUU0JSc2hNbnhPWW1IQnkrSjYyMFZWNGFYa1dBK0g0cXB3dU5S?= =?utf-8?B?NUl4MW44NEVHa3cwNzJ3SGUzblBrdTJuZG1YdGRUSWUzb05JaWVHN0ZXa0Jo?= =?utf-8?B?ekNaOWM3dDZmNHZDSGVJRE9pbmN0bk8zMmJ2ZHkxUUI2Yit0ditmM0NhemVX?= =?utf-8?B?MEVzTUVjQWdCVzFtbUxXYXBRS1AxREY2Tm1VK2EyQm5iM2lmN2h3UCsvV3dy?= =?utf-8?B?WmRVU2V1WlpURERYUnFXWUFsOXMrcXRUUWswZG9wZWNmMlhZY05vWHRHNnFE?= =?utf-8?B?bVdsRCsvMmIrQ1RBRkNVYUxWYndCb3hiTW1wUStpL2MvNEFQRUVGbUhtcU4y?= =?utf-8?B?cy9SejBKRFlyK1dQQTY3eVMyd2RTbTR0QTlrdXB0VThyTG9LblhSTVRaN0FS?= =?utf-8?B?aUs3R2dGRXN5c2hYSHFjK0JJcjNPa0VjZTJYMjVuVmx3UXM2cDRzNHpZNTNt?= =?utf-8?B?d01hR3hFWG9DdzVCamJLeVo5QlpZMEJqb01EN0N0Mk9NTU5XcGc3Z29kdDRU?= =?utf-8?B?enV6WGlzOU9Ia2RmZ1BMeTVBSitzKzhaREhINXA2cTFDRFQwSytiQnZPWEJX?= =?utf-8?B?S1M0amNrWDNkT1NjRkJUOVlHZHJ3Tjl6OHR6ODV3OHFQVkJqTnpHaXZRREZv?= =?utf-8?B?QklVKythOFZraFVBdFBQMXdFdjZNU2JBdmR2V1VFcEhvRkZINkRiZHRQOUNI?= =?utf-8?B?OG5YVS9UbXRRUkxwbzdyQnZmbWM2cXVCRHVkQjNLb0Z4azhSbTdWOEJtMmcw?= =?utf-8?B?eVFWenZZTGJwaE9XMER2b0M4N1ZOQi91TFpOVXZiYlhaMFBZazBISVZhRWsw?= =?utf-8?B?OVdZbExDZ0Nua0grMlo0NFAxRnlKT3ZEdWtQL0FaNHBhbnJhb3dkWXRsakd2?= =?utf-8?B?dkRHelo0SFBqeHFaWDZGK0Y2bUZubEhGaGFSekhFWmVJTzNGTk5mSU5DMitW?= =?utf-8?B?d3ZZWjFMelZxY2ppaU0vcXpnNDBGSHZJTDNsUnczY1libGkvSVNsa2VBcENp?= =?utf-8?B?Z3RkTTFLWnRrMk14STFBck5kenlXdGtlSVY2UUlBQm9kVmFKdVJCSFV5TkVk?= =?utf-8?B?ZDFLcGpaVWJsQmZ3RERWb2NKem42aHVUazV6emdHcE5Yblh5NFkrTjdpUjkr?= =?utf-8?Q?p6ZQCldUPTia7bFifT7g91PId?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f977624-e6ab-40dd-6566-08dad791c913 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:57:17.1161 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: X1Ilni8cgFkT1XgRAqQlHiu6PphGos4Os2Tp4ZplSAenOb8Z6mIbSENak2nhMSOlMYZ2L4FuZjTpzOboa0lU8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8670 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1670335062818100001 Content-Type: text/plain; charset="utf-8" Especially with our use of __builtin_memset() to implement memset() the compiler is free to eliminate instances when it can prove that the affected object is dead. Introduce a small helper function accompanying the memset() with a construct forcing the compiler to retain the clearing of (stack) memory. Fixes: c021c95498d9 ("x86: Replace our own specialised versions of memset a= nd memcpy with") Signed-off-by: Jan Beulich Acked-by: Andrew Cooper Reviewed-by: Jason Andryuk --- The Fixes: tag names the commit which broke the wrong assumption made by 6deab1ae316b ("txt: perform per-domain (and frametable and xenheap) MAC on entry into"). --- a/xen/arch/x86/tboot.c +++ b/xen/arch/x86/tboot.c @@ -179,6 +179,17 @@ static void update_iommu_mac(vmac_ctx_t #define is_page_in_use(page) \ (page_state_is(page, inuse) || page_state_is(page, offlining)) =20 +/* Wipe ctx to ensure key is not left in memory. */ +static void wipe_ctx(vmac_ctx_t *ctx) +{ + memset(ctx, 0, sizeof(*ctx)); + /* + * Make sure the compiler won't optimize out the memset(), for the loc= al + * variable (at the call sites) going out of scope right afterwards. + */ + asm volatile ( "" :: "m" (*ctx) ); +} + static void tboot_gen_domain_integrity(const uint8_t key[TB_KEY_SIZE], vmac_t *mac) { @@ -216,8 +227,7 @@ static void tboot_gen_domain_integrity(c =20 *mac =3D vmac(NULL, 0, nonce, NULL, &ctx); =20 - /* wipe ctx to ensure key is not left in memory */ - memset(&ctx, 0, sizeof(ctx)); + wipe_ctx(&ctx); } =20 /* @@ -278,8 +288,7 @@ static void tboot_gen_xenheap_integrity( } *mac =3D vmac(NULL, 0, nonce, NULL, &ctx); =20 - /* wipe ctx to ensure key is not left in memory */ - memset(&ctx, 0, sizeof(ctx)); + wipe_ctx(&ctx); } =20 static void tboot_gen_frametable_integrity(const uint8_t key[TB_KEY_SIZE], @@ -307,8 +316,7 @@ static void tboot_gen_frametable_integri =20 *mac =3D vmac(NULL, 0, nonce, NULL, &ctx); =20 - /* wipe ctx to ensure key is not left in memory */ - memset(&ctx, 0, sizeof(ctx)); + wipe_ctx(&ctx); } =20 void tboot_shutdown(uint32_t shutdown_type)