From patchwork Thu Jan 5 16:04:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 13090119 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 lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 60711C3DA7A for ; Thu, 5 Jan 2023 16:04:29 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.472013.732096 (Exim 4.92) (envelope-from ) id 1pDSj0-0003hg-96; Thu, 05 Jan 2023 16:04:14 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 472013.732096; Thu, 05 Jan 2023 16:04:14 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pDSj0-0003hZ-64; Thu, 05 Jan 2023 16:04:14 +0000 Received: by outflank-mailman (input) for mailman id 472013; Thu, 05 Jan 2023 16:04:12 +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 1pDSiy-0003hT-GS for xen-devel@lists.xenproject.org; Thu, 05 Jan 2023 16:04:12 +0000 Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2085.outbound.protection.outlook.com [40.107.241.85]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 97d2e2b6-8d12-11ed-91b6-6bf2151ebd3b; Thu, 05 Jan 2023 17:04:11 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by PA4PR04MB8046.eurprd04.prod.outlook.com (2603:10a6:102:ba::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan 2023 16:04:10 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.5944.019; Thu, 5 Jan 2023 16:04:10 +0000 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: 97d2e2b6-8d12-11ed-91b6-6bf2151ebd3b ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xr++NsNdGlT6TtWx6/n2fQDVYMbGG7WnSMBPz5KHSmGDF9QPtDETIPnA+CjBMH4oPBWT2bwfWX4suSbXeGIypOwZCQRpTh1AompNiWRAlvR3hIiY0nJ6hTmozX01k/WZA6eOtK75QCrBTeKQR+G1WaHokMXzv0nXtNRfUHLzLajaYJfDUasD8xfrsGU7MFRG3/BJ9VBHUTxL2ixjbZZ2EnZb7G1bYkJODXyMMoBjDClEwluN71Ga3FRwXt5oxS0IRdnWM/ugNIysCEu5Rdy/khqVLzO7lWhksIzdRGFzZ/+e/VN1Gehli+018mZsv3P2TtkPaY38eJzZbIkw8YXx4w== 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=tiwgHbCRXYI+56kwUcOCgcEtwg3HWt+T1yYbvqBjdYM=; b=LcDpJmTakRzhrmgRdUK6CYYQUe0Rpt+3dW/0+TdMvxGSu5wItFqSnWTvbFLKR4YBDH+/JywaQUpwL9yhMcnLvWM/D5C0zA2YEDGLw5fY/zeBJaEVxpNejZnxLn4w6Jb601ayQPlXmww48lJ/pgMbM5mRfQSt5gOHzYXyaObjKhmGfZjdUFATmi4zgh1eQ/oWwBXca9YnX/MtE58FQs8z5x4RM+1kLU9rpQ2nKQ0Ud1rVQICgmbyBefN9mQX5W96KKsYtEVKVaFnXZDiRS3JYnAZXMz3oHl1/RxrogIen7ZkcMsa3CECnCh0Qr6OJ7nX81OaF8klNdkZfUL2ewxuwag== 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=tiwgHbCRXYI+56kwUcOCgcEtwg3HWt+T1yYbvqBjdYM=; b=NAkNqr3ZTsQ6QsEjVhcI8ueY+7QrN4VUuvFkAFkIBTqeEiP8EK3GFw+kTVoxokZpp3tcgyQ50rlfowHZT2mHmtJ8bO7cwH0+ZvuRqrS/xNDtOH1pKNpb5As/6l6bz9hxEvnMpGV1XSQAr78B20FqnpeYx9qqTgpMjjxd3sx2wYsWM7tt7XicuathzWeoFk3oyXJWGEYNilzhN7Lp5fiK6nVattSg4Ms4s2y7LgUMitJsfCqLLjh17w6MDqRdI+R/7eEFeh1uVpTEcYZEbkqzXPXorlJbcP7cEdugdfQdxDp6vfhcavgfjh4WiZC5HA4/cdAoh38HmJwfxWfWYyMTpw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <76cc0b4a-27ca-21b7-841f-315f31833762@suse.com> Date: Thu, 5 Jan 2023 17:04:08 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH 05/11] x86/shadow: move bogus HVM checks in sh_pagetable_dying() 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?= , Tim Deegan , George Dunlap References: <074dc3bb-6057-4f61-d516-d0fe3551165c@suse.com> In-Reply-To: <074dc3bb-6057-4f61-d516-d0fe3551165c@suse.com> X-ClientProxiedBy: FRYP281CA0003.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::13) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB8046:EE_ X-MS-Office365-Filtering-Correlation-Id: 2ad15354-d748-4b28-5a12-08daef367af6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oYfdVss4Qr69VnO87usxY+HEyw1UMO6LfKX7cL5QHL01Mt22PQlDL5/zr1VOP8m1OrKHXDzroJIOagvtHhs5VJshZ9zWSssQg8wJwZGSQftieXSqaXPiyqP5iFbKoxFKDMnugdqNysq0ufCb6z23gJhGZQ/ACGXSCmvnosYxC7LHTT/v5eVGacB0fGH7hQU7mZscidMDPnLVNxMjPp1o5TXjuAH9zYz0ZiwZdUxYaQLj3jpAH55VHpviJqWUZ/Pvd+ZWyAFsCa5XOtvNj7ZeQfA5VCJfF5BGJ0J3lOzwMAyY+IHhW9v1FhSvh9MZRZMajp4UAdrdhnIp0EszcdOAZiAc7pB0ZeLiOp5Y+1Bp2ucVv6AU3Y+AYW0pOmDOuga94WxnnOMxxbYsE9g6CJEQYswex1lqIg2icEE27CQR2kyYAW+IDv5Qt++uedbM21KfOkcyVUIub6qjbAf6/ddZtYqD/nDB1qxHZR65Xkh3AgeLR0WZ+RsGO1F+Kd5LdEsWzQGtNBiE+u3g6pgdgyaVm3Ahl8R0oa9oVXrKnNyiOXXU8haTqfJoTwyceF3PXyReiWQPWt4FHhhCSxSxdJRkIZlCj8JqvqSKR/QqG0C6JP4QOKuYcEYlHv7QoxVk6QXiFJcli4eT3ZWzLZ5clpiVFL6G5oUFms8D7bmZJej8ORwu7IjmR7IKs3QBUTKBi+E+qF1RSt3RQ6vhA1UH/prX8PXLBvvwziV9e+3XaIN3KlU= 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)(376002)(396003)(346002)(366004)(39860400002)(451199015)(38100700002)(6506007)(316002)(83380400001)(31696002)(4326008)(86362001)(66476007)(66946007)(5660300002)(8676002)(2906002)(66556008)(41300700001)(8936002)(6512007)(26005)(186003)(2616005)(6916009)(54906003)(478600001)(6486002)(31686004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?FqaZ2WPgqfSZiIirWL6J1x9oyl3F?= =?utf-8?q?h/h+GML1Q+s0vHJdWwBZl6JiNlfWk9oArOZU4uPvugtndm13AkTghx7ljVIoqfXZK?= =?utf-8?q?i8AU7LmPLM1tCXp2tsJHPGCFlj+vcUmd1CLQ7UQIAp6oYBtumRskY9EbMAwaBIa05?= =?utf-8?q?NgnlDJDSosh8Me727+JQOxYZx635hFOFP0CT+i+W8WQTK/Ram9kxyy7hWh0h5JYqm?= =?utf-8?q?A9hnrote3owlZOsz6XCOURMOgua7qKf5agzlxOn1U4Ce2SWRKITB9YG0oLvddHHVb?= =?utf-8?q?1z3C/sl/KIalZhWCoOKS5QAcPV8O6H3rUlojWf0SqW9+YKk83kLu+fbXwT536qlYa?= =?utf-8?q?IcKqaydUfhmWTnBSEGT4M6P9Gh4xgebYFimZX6wSDUd7O/b5mbPejrOvxy/61ttUS?= =?utf-8?q?eMo1PtN2GtY6yU0VmvsjMxa3YBwmKNsLmJ3zSC4AsYIZBSnSYSiZm6zwiIc5k1gLi?= =?utf-8?q?UWqvoYt/5GyBbzo362dzAm5tlU1Giobf2ls0nhrNBnwkTLo2mJr3ZKxg3xnvAiZNO?= =?utf-8?q?daTlE29/brhhJ/qMeC2H05HM0yDMaGML7jxuwUURHD0++HIkvv7MC3gWWhiGPE8e8?= =?utf-8?q?dAN7Q+YyLgU2ZMbNVXEn1OpC9dD2o1MV6yhBGi6eiUc8XmTneO+P1c5BA/OTl80Bg?= =?utf-8?q?v8jMaRa3vqhBtAg4TTqMGeDfVUfHctMfHH+I+h7RHsNkS+/o64vQeZJWtIU3sd/Qr?= =?utf-8?q?SWrSZHBicDkhsVL7Q1BbYC4ptzRGna0wVun9htjYl3hvJ90mb3kFIKynOybUnflxo?= =?utf-8?q?6Ig5xqoGlx/1PeJr1VggJ27+qKPnjLHCkR3dbTOMjhP4n38c6e3nCPdpKdN/oU8i0?= =?utf-8?q?sPk199J79Zq1JAB8JcTAbRAteq54TQ3ABP8KBFyDRimrotrDvnUuHwWw3Sn4DC49u?= =?utf-8?q?ueMuIh5MZhHA/174lhNZ7IMwOzdD6LI0X5k8qD8SulrrKn1SIHGYOubLlIMuEYT2k?= =?utf-8?q?JRt4QHitnl6cjsbIZJg7uKwmOwkB5famG/IOGuyiiHLdnw9xucZ90/D+v1NslvAuk?= =?utf-8?q?0OMyk5kEcoguDMGjYHn55EpwHuQYSMFHYA9iAA/69PlpgnZLxE9pFJEL+fzE2Wbk0?= =?utf-8?q?Cxls+9HFzAvxsW+fHlanT1aGKIa+zPIarVhQLk6euV5nLBfVqvE7hzXEkulCXZ2as?= =?utf-8?q?67PTy0KET9qfFF9grdIZt6/EphutkOXn4Wu13Dc59iI0aC5tllRbquTp+BAJNgpx7?= =?utf-8?q?1F8HdU2Gdh9YA8m+1WmXA/aHh/jryxDPZKvN1IsxJyvoGLoU2SeAqVSwvWHAMXwc8?= =?utf-8?q?+hP1EBT2zhujOqSATgu3nThdb9IivSBjheT0kctzQZv+gulWvQ0kp//FXeECaO+U6?= =?utf-8?q?V/OIz7HkNK878IH5NhRLBxjwOM/iU3rqJ6GytoB04/Mbfzs1Sodc1CCc82oCwYRVs?= =?utf-8?q?jWb5k4U6RaoV/RHxDO1k8KWoGaVWXYLS2lluZlKOKxN//6NETiGcN3iK40YF7sYsT?= =?utf-8?q?mzg41ROBPBMwgrrGosKmi4w6P4n3tMrGpc/AeGqkyj9zKTidBHEaYg4FF3Svc/nM8?= =?utf-8?q?Gbgn54ejbmmZ?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2ad15354-d748-4b28-5a12-08daef367af6 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2023 16:04:09.9084 (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: vTjYqBoyreX/HEhw3Arn7DPnliwAhjDiE6xN38Kxx3c/YlAgml3JHhNnV0QlXADvtvFKRxHymfFrEBeHvvuoPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8046 Perhaps these should have been dropped right in 2fb2dee1ac62 ("x86/mm: pagetable_dying() is HVM-only"). Convert both to assertions, noting that in particular the one in the 3-level variant of the function comes too late anyway - first thing there we access the HVM part of a union. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -3780,6 +3780,8 @@ static void cf_check sh_pagetable_dying( unsigned long l3gfn; mfn_t l3mfn; + ASSERT(is_hvm_domain(d)); + gcr3 = v->arch.hvm.guest_cr[3]; /* fast path: the pagetable belongs to the current context */ if ( gcr3 == gpa ) @@ -3822,7 +3824,7 @@ static void cf_check sh_pagetable_dying( : shadow_hash_lookup(d, mfn_x(gmfn), SH_type_l2_pae_shadow); } - if ( mfn_valid(smfn) && is_hvm_domain(d) ) + if ( mfn_valid(smfn) ) { gmfn = _mfn(mfn_to_page(smfn)->v.sh.back); mfn_to_page(gmfn)->pagetable_dying = true; @@ -3854,6 +3856,8 @@ static void cf_check sh_pagetable_dying( mfn_t smfn, gmfn; p2m_type_t p2mt; + ASSERT(is_hvm_domain(d)); + gmfn = get_gfn_query(d, _gfn(gpa >> PAGE_SHIFT), &p2mt); paging_lock(d); @@ -3863,7 +3867,7 @@ static void cf_check sh_pagetable_dying( smfn = shadow_hash_lookup(d, mfn_x(gmfn), SH_type_l4_64_shadow); #endif - if ( mfn_valid(smfn) && is_hvm_domain(d) ) + if ( mfn_valid(smfn) ) { mfn_to_page(gmfn)->pagetable_dying = true; shadow_unhook_mappings(d, smfn, 1/* user pages only */);