From nobody Fri May 17 06:54:14 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=1674484047; cv=pass; d=zohomail.com; s=zohoarc; b=c7/VIOKTJPSuGa0jYSi0FBbG5AmHcUvfT3rNoFg6/FLQIiY2obDm4koMero5SO2zcPOsiyVz8LRSfFppYG2/2D/laZSIqAjChIKXFh29Gt2BjZq//8cZFrcWiBnRrHLzVfHa83J57hlpcKu6ZgKM5kuCPDQrgXZp1nvO7fNTuTw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1674484047; 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=B/gm2cl/X9TcLNxL3ej+ogFLZ1GGnpcQ/Jniu05nakk=; b=axfQbWxcUHNQuL6FVc+iaUTvxudqBfaor8x/4GQynvt5je4LTLfaU9zt6+JLla6Nn3QB8To1Mvazgb9Nm14ecXACQgffez7i5bbqF+a344Xj6hs0beLlhWBZMlme50PZfcjoqXhJ9DlqHAmQb2EM5YNQEp4+HsSuo9qxmTU+ejE= 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 167448404786338.387537107110916; Mon, 23 Jan 2023 06:27:27 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.482907.748692 (Exim 4.92) (envelope-from ) id 1pJxmp-00065y-Sv; Mon, 23 Jan 2023 14:27:03 +0000 Received: by outflank-mailman (output) from mailman id 482907.748692; Mon, 23 Jan 2023 14:27:03 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pJxmp-00065r-Pt; Mon, 23 Jan 2023 14:27:03 +0000 Received: by outflank-mailman (input) for mailman id 482907; Mon, 23 Jan 2023 14:27:02 +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 1pJxmo-00065j-3o for xen-devel@lists.xenproject.org; Mon, 23 Jan 2023 14:27:02 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2077.outbound.protection.outlook.com [40.107.7.77]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id fffa1792-9b29-11ed-91b6-6bf2151ebd3b; Mon, 23 Jan 2023 15:27:01 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AS8PR04MB8418.eurprd04.prod.outlook.com (2603:10a6:20b:3fa::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Mon, 23 Jan 2023 14:26:59 +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.6002.033; Mon, 23 Jan 2023 14:26:59 +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: fffa1792-9b29-11ed-91b6-6bf2151ebd3b ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MZuB4NEpDfHAm9UqxKgqAyAE40yjC8WRRHZ4ZCaOGkVRIuHE37I47FcloqtMQk0Rk+Qy8zRQeYYVmEJ7jZx1db5WClxnHvAjC7AYXGgF+uaywgdeUpejiSEh2+4+vfx2UcPOBKxZOpvLXlLg4Oz3YcQts6iOhCWhiXyKFGKCVY9OxoZPXgJvCgBNxe2ni6HITpoMsHZMn0CaJdK/oW1t2LuiFFbCP0+3f5c8OEtdmero88oiYh2k7Gtu3Ib1mixnULhqzH7ggr/v4fsMMP+oJOdSbMER/AKaYM5H9T8c/sP60KLwQD+hFchIJg4SUIkMlGA/IMmE+1fYTnVOVbOWXw== 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=B/gm2cl/X9TcLNxL3ej+ogFLZ1GGnpcQ/Jniu05nakk=; b=l+3DiY9qlcbAKAyy5IWRdpH/qlLBL7uY4fe0CKECDhXrp7taIzOgdGU6PTV/+qz64vUQyNE9bQQRqmvAtdN3usW/uqyO1FjhBkxSPRIO6hkC0YFRD3NGmppojvwamlFqw4cM2LFZ9HEJHeqZaS9BTeG5VnUy9anLqMOL7tjjZtzN4XQJ6wsBXeoj8+vsp/P4Xm4peVaX0sbOEZjpiloQ/sn+ugJOhOTA/aV3O5zMxTnBLMB5uMTEAL+LQam6i7QSCgh13zjrxxQhjvPOYbiISqfYPqBuwEBI63n0zTc3FAqsKVFF5++gw7buY0EDXJLQ9Z3gW/5lWqQhex6r0LCycQ== 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=B/gm2cl/X9TcLNxL3ej+ogFLZ1GGnpcQ/Jniu05nakk=; b=SFKeol+dT6CLMvfBkZgyAsVtlI89hqB1gJxAvzLRPoQ8DXY+oeG60zflT0mdFGbASnsR7Jl1yj1hbir+Sagj4EyrKOG/GIK6/VgFd0pjnhlyEg/G2AhhDTI/L7Bezsp0Gxp1Dfyotxtcx3ERpwI7+KqVx5gXNtGP+B6vPBN54EqZDESTXeMiZOUmRDRETlQoLRlK4xWGmHHyeOXtf2qJkwY0cfdpfVLwktANC5q3AlVgsXhn8wNn+dkbLwRatFb5o9BxYqpWD0MaZLpgbNddFb5K3NSLI12+h0veY+KSgJBhe1qtB2eGBORHSgXNwyzXSXqhBw1O73RyX9poyQNOBA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <5d8a938e-cb4a-a989-1849-d702cd25d890@suse.com> Date: Mon, 23 Jan 2023 15:26:57 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH v2 1/3] x86/shadow: move dm-mmio handling code in sh_page_fault() 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: <0e682cd4-3cc0-461d-ee53-13a894797f17@suse.com> In-Reply-To: <0e682cd4-3cc0-461d-ee53-13a894797f17@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0077.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::10) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8418:EE_ X-MS-Office365-Filtering-Correlation-Id: c001ad8d-46e1-401c-07ba-08dafd4de302 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7SlaED7EiEKyii893uyehhNUSkjG1v3J0TpJTBs39z9Lh1M/dgLDFEKgptIcj1xlG8NtzBOWKpKWsl0lEw78YBVqhX70DB2y+Fx8w4Ts/LWEOJHGam5qipqvyRodOPILHJAQhdALFDsaoKx3p20vAhu0cNDv+0Oce5ygw8ebASyG9tzV3sj2A4wOk/lAC2Y7ytUfqqaLJa/4JSATvcf28aCfvn8Y/fpyX2+GgmNp2K3t3NeJCZDWcunAUZhlV/Hq3SNKGXti6WLbqC8Q/Vf5WwG5Tdc0SIoS2pH+CfE8T2L6JeTWwFKFBnp1/paQwpkgkcLKIeNtk7/RgmHmjvAwQeIqlLgcuKBkCW/F0Z0ue8kWfD1PhSyXVul4MZiFzJINSnK0Ow34wKyfleyQlx8+jYS5roGTfZESI3MiOnzgvJ7m/Ibsl+aF2M9EOaPOE8LCPwTYXJbx73L9ljq5OBoVofU0EPCJLVpNfbpCYxcCBmk7ms//MAAg6iA07rWEnHdhyjj4/NDnw7VyFtyHo8AedABy7f07A3xShTvaskFXO0y+WlAiM9tW+1WW1ChllLBYQY96DzaFyi0KPyrCeUK22kfvxwBuEBir4P1ILsC/VFGlyLQ7VadoGoiF67PpbTYuydr+gM/osXkmxO6JkRjrLdaxfGnHut200UydeulTcfWmdk8MbMxoZ/Np36PnhGXlyNA5w/7keZ/Q5XLqHVnDE2nvTjUgnhj0WNNZUalYKzw= 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)(366004)(396003)(39850400004)(376002)(136003)(346002)(451199015)(38100700002)(83380400001)(31696002)(41300700001)(86362001)(2906002)(8936002)(5660300002)(4326008)(6916009)(8676002)(26005)(186003)(6512007)(6506007)(66476007)(316002)(54906003)(66946007)(2616005)(66556008)(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?B?V0ZWeG5tRWt0dnVNdCs4UjU0Z3JGaWlaOW1RMmIrRHo3eHc5YnVFcEdxUFM3?= =?utf-8?B?SDVmU2ZEcDVIK0xSS0tPZkxtcFpuVmNsZVp2VmhoRm1NdzcwSUkrTnUza1NY?= =?utf-8?B?Q1hjNlVLN2NXNXFqaEJ1TUc0VDQ5TVlMUnppS1NCWUMvNjQvRWdSWFZXRTgw?= =?utf-8?B?alpQb1V3dll2SDVMSnBwTCtNb2VYc21qaVFybEZ6VmhSWHRHMDU4ZzZ5cEpw?= =?utf-8?B?Y3dEZzRmWVVhWThnTDREOUtrMHFIbnNydGF2ZGhBUklCdlRsbVF0Qm1XTVNB?= =?utf-8?B?WDVhRGFDeEpYdGZuMkhYYlV4ditJU1R5ZXdpTXVUL2hnWU9IUmpjWjFoMXI1?= =?utf-8?B?WE43cEg3VDhYS2ZTVDgzM0ZVbVI5Rm4yOUw0QThpaXN3TlgzSHVoS0RmN0hQ?= =?utf-8?B?aloyUmJsenJmZ2IxOW1sc1FzSzdaa3o0dkh0OG4xZzBHck52YmxUMUI1Q2dE?= =?utf-8?B?bFJQdTFLU1F5VWNyRjZ2N1o5MExFTlRmT3NKbjRaendCZzZ2OWZtTWprbEFC?= =?utf-8?B?aGNTZUtOZkpnRWMzSS9rV0xQZEpjZkI4aU9XeldjUGZLdXVqUFFhWWRRcDVX?= =?utf-8?B?NlpvbGJWeDFqT1JnUmNTM0VZazBSWnVtdHpTbDBuMG1PUjVQenhvMnQvOUJR?= =?utf-8?B?U2FGeXp5Y0VGUnVBcTJBb0ZHdFdpYVNiaDdHTEZFbHFpMmgvTnpRbWtUM1U1?= =?utf-8?B?eGtrM2Y5RmwxaDhGbUlxUFFIeEhhdEpJMlJ1Y21jZDdMbHBWMTEvY0cwK1lY?= =?utf-8?B?RWtBT0ZQUzcvbms0cU9XTGlWbjZjVHBUTFZ4Wm1qaEtaRTFuMkNEREt6U1pm?= =?utf-8?B?cm5xdXREbUJ1dUw5UkJhUzkzd3JPYkFRUVNOWW1VanRHNkpEVXEvQzdaT3JG?= =?utf-8?B?N0dXeG96c095T2NsdXkyN3N3S2VqTEltSnRhT25Mc3FuVGo1VGNIVzhjVVVn?= =?utf-8?B?UGVxV3ROVDBMTU05ZHpuY1ZkNWExWEhiSWJ3Nnd4OGpad2ZBUHd4aGF5STR6?= =?utf-8?B?UmFuNU5tenVHT1FPdytWYndQT1NIN1c5WWJhRW52bkNidnBjTXMzNnBpZUpo?= =?utf-8?B?MFpma3ZQdTZ6K3JvcTdnSVBYUjMxelhDKzFMdnN5T1hQSzJudk5nVlVaaWdt?= =?utf-8?B?NFh5cjIrc1VPdmt3U1dpVm45cGZDUmNzdit0TGZneHBLQWFjRnVaVFZvYXNK?= =?utf-8?B?b21MaDB5SFJWY0haYVFTVlZqN3B5OW1mZ0RhbWgxZzRSV0Vpdm4ybjRHd256?= =?utf-8?B?eVlMd04rWnFGcEVyTHVoWTVUcklMZlZISEg1QlZuV01ubmNSaTJEb2QwSEVa?= =?utf-8?B?RXl0ZjJLY01JT0dkUjZjcGdKamdSQVdsODY2TndKK0RocmZCN2U4Q1hKc1Uy?= =?utf-8?B?bzR2clNzV3lObGxkM01vRzN1c0RRbjRKN0NjVFN3TkxtV2dPSFpPVkxDa2pK?= =?utf-8?B?QnhMSkRkRmZMSEhxTS9DMVNXY2NJTXNTWHRoREd0K0VBZkh3V3JnZytZcVlR?= =?utf-8?B?Z2VibzNCdXo5WStxQzNRMWU5QnRWckdabXlqbGdISlhaZXo1cEtMQVZYNGJE?= =?utf-8?B?MW5iZ25XNnR4REEzWDBDY3lVUG1YUEVRS1BBemVPbGkvTkY1bnpzV1Rkb1JY?= =?utf-8?B?eDdrZWdBaWJsamZicTlZbldHTEoxSEtrckhsdWE4a3czN05MMTEwUlQ2ZmZR?= =?utf-8?B?d0lRNjUxLzBRb1M2THNtYlAvc0dQTk5DaVdjTjVBbG41NjdYbTg1UzluTDY2?= =?utf-8?B?dE1LS2RRTnFYSVQxTGEzV0NqQ3g3bUxpQkxQUzNac0ZqdnN3QWkvd2N2NWFa?= =?utf-8?B?Vm9ybk4rUGJtMXR2cWVJMnFmRXduMTNOT0FCa1VDaGtPczliYllrQjFPbldW?= =?utf-8?B?TmZ2NmE5V2FIQUhXMVU1R1B6YmZhTE9Cc1N1SHlLVk4zTkJtUUtoM1krODBa?= =?utf-8?B?Qkd5dHRNTDJva1ZmYVkxRllrSSt0UGFzeCtYTDN4U1hiRVI2MUJ3SC9PbEVm?= =?utf-8?B?VHlIRmVWcjc3YlpHblBCMzVYNjhHTkpwS085eDZIWFAvL0FFZkxTQlp5eXF2?= =?utf-8?B?ZHVtR29IbkRETnFZclJ5SWY1T3hPZTR4NEFzaFIrT2VpY3NvWFdmRkdrQUJE?= =?utf-8?Q?LMi2RlNvlarGR4B/pn7gjyFD7?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: c001ad8d-46e1-401c-07ba-08dafd4de302 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2023 14:26:59.1091 (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: UyXXUYNvArHdFMH/GuKTS42saqi+hZS1MBn8DF+VpdCFHPU+0iPmE4WmmxnID/RjGdz9FifQvMcEJYEPOvkLQA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8418 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1674484049989100001 Content-Type: text/plain; charset="utf-8" Do away with the partly mis-named "mmio" label there, which really is only about emulated MMIO. Move the code to the place where the sole "goto" was. Re-order steps slightly: Assertion first, perfc increment outside of the locked region, and "gpa" calculation closer to the first use of the variable. Also make the HVM conditional cover the entire if(), as p2m_mmio_dm isn't applicable to PV; specifically get_gfn() won't ever return this type for PV domains. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- v2: New. --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -2588,13 +2588,33 @@ static int cf_check sh_page_fault( goto emulate; } =20 +#ifdef CONFIG_HVM + /* Need to hand off device-model MMIO to the device model */ if ( p2mt =3D=3D p2m_mmio_dm ) { + ASSERT(is_hvm_vcpu(v)); + if ( !guest_mode(regs) ) + goto not_a_shadow_fault; + + sh_audit_gw(v, &gw); gpa =3D guest_walk_to_gpa(&gw); - goto mmio; + SHADOW_PRINTK("mmio %#"PRIpaddr"\n", gpa); + shadow_audit_tables(v); + sh_reset_early_unshadow(v); + + paging_unlock(d); + put_gfn(d, gfn_x(gfn)); + + perfc_incr(shadow_fault_mmio); + trace_shadow_gen(TRC_SHADOW_MMIO, va); + + return handle_mmio_with_translation(va, gpa >> PAGE_SHIFT, access) + ? EXCRET_fault_fixed : 0; } =20 +#endif /* CONFIG_HVM */ + /* Ignore attempts to write to read-only memory. */ if ( p2m_is_readonly(p2mt) && (ft =3D=3D ft_demand_write) ) goto emulate_readonly; /* skip over the instruction */ @@ -2867,25 +2887,6 @@ static int cf_check sh_page_fault( return EXCRET_fault_fixed; #endif /* CONFIG_HVM */ =20 - mmio: - if ( !guest_mode(regs) ) - goto not_a_shadow_fault; -#ifdef CONFIG_HVM - ASSERT(is_hvm_vcpu(v)); - perfc_incr(shadow_fault_mmio); - sh_audit_gw(v, &gw); - SHADOW_PRINTK("mmio %#"PRIpaddr"\n", gpa); - shadow_audit_tables(v); - sh_reset_early_unshadow(v); - paging_unlock(d); - put_gfn(d, gfn_x(gfn)); - trace_shadow_gen(TRC_SHADOW_MMIO, va); - return (handle_mmio_with_translation(va, gpa >> PAGE_SHIFT, access) - ? EXCRET_fault_fixed : 0); -#else - BUG(); -#endif - not_a_shadow_fault: sh_audit_gw(v, &gw); SHADOW_PRINTK("not a shadow fault\n"); From nobody Fri May 17 06:54:14 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=1674484071; cv=pass; d=zohomail.com; s=zohoarc; b=T1qDuC+oJT6mjYF9ZCVvMEKssvVjQPEp/yT+9NhqJHme86dBjYL2ZqcHpIl4HUAtONGwGSp99goen6Aou98hYtsBswj7RUZmx1TW/+TDCp1G9m8Ti1rpHzDAuZTJpFE2E0et+YuKUb+mg7yVgcmzxpAP6B7ItKhzFazEnXnDNCA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1674484071; 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=RrwYPI3hJNohdFkp2eOgTzxDlzUCzI3WQX/iB1o8qcY=; b=hRS5Kr38X1YA9y1zlfFPOq+e/WgkGd7b1xuz00JoDnOVqnWEod6PT6Hx7f9ck9iZNrA+bqeP5QBskYvb96I3QbPy3njJFj1kmhikHg9CC2ym4XxaeM3JXc+TYCAu+9Mc9EhcGkCzyqD3jKpEMFTaM/HSsL2RW3l1/hHYAkfFhLw= 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 1674484071504105.2435057971636; Mon, 23 Jan 2023 06:27:51 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.482911.748703 (Exim 4.92) (envelope-from ) id 1pJxnK-0006bx-5a; Mon, 23 Jan 2023 14:27:34 +0000 Received: by outflank-mailman (output) from mailman id 482911.748703; Mon, 23 Jan 2023 14:27:34 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pJxnK-0006bq-2g; Mon, 23 Jan 2023 14:27:34 +0000 Received: by outflank-mailman (input) for mailman id 482911; Mon, 23 Jan 2023 14:27:32 +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 1pJxnI-00065j-NK for xen-devel@lists.xenproject.org; Mon, 23 Jan 2023 14:27:32 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2070.outbound.protection.outlook.com [40.107.7.70]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 125cae2e-9b2a-11ed-91b6-6bf2151ebd3b; Mon, 23 Jan 2023 15:27:32 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AS8PR04MB8418.eurprd04.prod.outlook.com (2603:10a6:20b:3fa::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Mon, 23 Jan 2023 14:27:31 +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.6002.033; Mon, 23 Jan 2023 14:27:31 +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: 125cae2e-9b2a-11ed-91b6-6bf2151ebd3b ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CFhPwne6xGjpzyuaAr+F18YfrsCiFaZy2rZf6chyGVX6MeppfChgis2uymYtxsQ3DB0+tG1qSw2LEypfHEea3dIQqAgEYUwQEzsmJ479GSpyMkcXOasmyMN2C0L0IqChaEqtdAD/Wu6nMoTp111JZyovSb4PpZ8SmhHKcWZRqBKiujGCbwWhpvThxSlrAxqyXI9nLhOLRYDi/OvSedwweQPlFTOqHagUcLTYfvidPWVye2NIrtXKeCXZ1c9P9cUb3qwbpBeEYUBtM/oR8SLD7lvaO+vx586buEe6msb8NEB/tzd+mq8sDOIlEEYmy4Bd0FJ2dKrJqTnaZiJmycp09w== 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=RrwYPI3hJNohdFkp2eOgTzxDlzUCzI3WQX/iB1o8qcY=; b=NszGQ2wLV+rey8pCha3anzNR9cJAC9QScKS4nFNqZBq7mBSTHtILzotMMkUGdE8yFX2VUYKOso9PYlsgCTgOCeWi8kwmDt3tjtNCA8iBNg2Drj3E5hI7C9zUDTWsglpOezHsn9f4QD/msyXMYet+fX7dNfx/SKmPU8PHL7jjuXbjB/RzMQXDaef9G4gpP08nqwKg66HytfUPUKDRxIAeoRyCbqkNs1F98uE85gqzO9Dw/rvMeaUlQDi5pd74NrNKzV4Egjg98qtjlgz07ucUB4YAxo4yEhaSzsnwkXsj9+a1ONXA/ut3P5+NgLt11S8h70NQFqEQtzoY7EtrRk4H6g== 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=RrwYPI3hJNohdFkp2eOgTzxDlzUCzI3WQX/iB1o8qcY=; b=vhTqeO2RRZWsMZ315uCIHwy5xldVGYfjqnns1CtDlvcv0eXTzq4cM6bnfLBblX1YRtSn535xJjJbslDjtBwTEstHn42pgtkfpfIzZsMDUKcrncISuBF4oICskCfAF6XWC5/SOQSAiDr41A+xG2o1mBwnl4NK/Xk/6VLW9UaXPAkWiH2x6FMv8GzxTPAME8gxbjbwdMOAc26jKBlykkrNWiwaFtmH5ll8RU8wVE9E389p5mjPg+kGquH47q/eqiCpKShfi4kswvLHW26ZasLNJAvqq63pU42zAn5LMMchEM0kTYsVA1YSkjn6luZcuc72IL2kMM7WW9k4isRqVD+T5g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Mon, 23 Jan 2023 15:27:29 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH v2 2/3] x86/shadow: mark more of sh_page_fault() HVM-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?= , Tim Deegan , George Dunlap References: <0e682cd4-3cc0-461d-ee53-13a894797f17@suse.com> In-Reply-To: <0e682cd4-3cc0-461d-ee53-13a894797f17@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0085.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::22) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8418:EE_ X-MS-Office365-Filtering-Correlation-Id: dfadfc46-692e-4258-9a9d-08dafd4df608 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: C+LCwk14pwRpIYBRi4V2ZJcldMpx+TQPlLPXtM5+QeKXV/Hm8+dObWemvGN4TYaLo8QwPQ3zAoKFvTPvMs0FQyTEO4JMkDgNdtctJNA9ZwaifFnVwVEjkHVV07E5yza3ghlgLVTllbOYpnLdhjEu2PbHErmS1IkJWnk5hZYGNicVuYCntmq4r3XeguDA7bD8IlPVN2DCMIzVkkfgvR4WK8ljrMXbYViUHgt1QRjBE0GypUjSR4GHKInIzejMZrABb0+9d6iZ6KKXHZ70cxXBxbsxjlge1vRnQvwIQCAddMRXVgSbaFR1OdSUt1XWDMUHx+ZTequnATPyc1j4e7cp+2cdWKZs0FHLbSz+7CGL1OjVszJHIg8VMfZ1NFuIZod8YdBRziTSX6n3cd6Web8djttrovdWMR9F+B1Ax4tALetioeRkgXTV0JZvl/HnU47aZ/4EwvvM2qjVetEUpdjWtwRQlbJK4De9S86r8Cmb59rFSNfBaI10syz6j/4InMx4ce7PivB26QiEseIFJuKzfiTTkkwk621H7xNSGggeKuuAXroNOLEKYSbrXkJEtR3UpSY3VxMZ49/9KU+T6ww1J/Ujb0DOfCvsWxMK2FryLugavxrq1aiN1xtq5BY7hDb//gjV4tmB6L/Z1ugHh5Th65u8STxl64QSF6Gr/2femR2J+8t9sP5EhWQHDIHLEiCV9f77bZ68pfeurUiJxrbv94PnubpRZvh+QJJQKFYvlkc= 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)(366004)(396003)(39850400004)(376002)(136003)(346002)(451199015)(38100700002)(83380400001)(31696002)(41300700001)(86362001)(2906002)(8936002)(5660300002)(4326008)(6916009)(8676002)(26005)(186003)(6512007)(6506007)(66476007)(316002)(54906003)(66946007)(2616005)(66556008)(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?B?b0QrMFRWUnFHSTRyM2YrSXUwWTJ6anplamFqVHk3Y0sxeXZIUFErM3EzaUJ2?= =?utf-8?B?U2pIZG45a3RXaFpnM0QzaVk3RFRVMEx3Z3lic3BwbElhL1l5N1ZPYmZUN056?= =?utf-8?B?b050UDZqOHEra0JRSVgwYzlPQURCZzBTejAwbnlMVnBJZHZtc2pZNGhqalFa?= =?utf-8?B?Z0NGWWxkUlZ6Sjk2TGtZUkYvYi8zcHRwdU1aQk5FOFNidlR2Y1N1dVFlSnVP?= =?utf-8?B?NUpJUkxBNWhneTBaeFArZkwvTEphWUtQZ1FKSGtqd2Rta1M4QzlVRGY0eXRh?= =?utf-8?B?OFFHTXNFSGV3N3UwQktaelFzYU1YTHI2RTZNL09OcDUwZndxYjZ3ZmxsZURv?= =?utf-8?B?Mm9LUll3eUxzNkxHdVN4aGQ5eHk4NGltbGs2Sk84YzgzUjFUcW8vRXFVd1FB?= =?utf-8?B?cmRERUFmNXZoRVVKWjNBUDhIOWkxc29GSzF3NGZhaFhUNlhrSkN3azd3NlBs?= =?utf-8?B?NGRIaFZZbEloRStPdUZod3J3Y2ljVFJnY0pkNHVaYjl0QWFrL3VKOXJUWTVV?= =?utf-8?B?UTZJZXVmMXIvU2lIUFEydWl5aEpGTGhVc3RyUEZ4UDVpSk5QcjBydzZBK1Vj?= =?utf-8?B?SkVIbXBqZU1MV21sRnd5NStacE5PWDdKek9JNkUxY3JPbHBCS3dzVmR4OGo1?= =?utf-8?B?TVk2Rk1rWWFMU3ZmNmtudVBuVjRDSm1nTnFjM0pyRG84aXUrUm9iNng5TUk5?= =?utf-8?B?TGdnU0RPRm53OURNZHlhTVhKU0M2QmdpZFJpWWJZamEzaVhBUG91TVJzWG5R?= =?utf-8?B?bFBUTkd3ZFBoTTE2bFR2U2pVTWI3b09ndk1pa2xoT1ZjTjliNFRDRXNUYS9o?= =?utf-8?B?aE9BMytEY2ozdUpVUXFxS0VtcUJzMGpSZ05WK2lTY0dWQWVvVHlRUW4rVUwx?= =?utf-8?B?TWlzSnV0amxoWk5ZSGdZVzBzb3NXRVYxZ2pLU2E3UkIzYktnaEtZSWg4M1lW?= =?utf-8?B?SXRXU3pKcGFqS2NXdm54a09Pa3FKT0RDamoxaEREelJQK2tqMk1mM0pzTEp6?= =?utf-8?B?a1crb1RmNitEUmhFLzhBN1BSN0JiclZhMGlWQlFYOWhZNmMxb0FMVXpXMkNE?= =?utf-8?B?SkF4MElkL3pZeHlBeXRFVnBVNVBrdkFoTFc5QUdSdWgySkxna0RHSTZCQllT?= =?utf-8?B?OFZwR0dVRXlxaHVMSnlFZFJKQmI4VHM3SkV0U24zdWI2YnV2UzdHQTNtUGxV?= =?utf-8?B?Z1QwYjJDZ0NWMGRxSnQybmxpNXhuYkRRMmpvU28wUHUwZENnaVV3eFR5emxp?= =?utf-8?B?b0FCTVFvQ0NaOVVaK0pOUVMwUitSeXBSbGxtTHZXTmhIdWZUR0p0enF4d2Ey?= =?utf-8?B?VGRneHMvRk9vTDIzanZ2aG5SVThNdldhM0lkZ0EzdHhOb3ZmMUdmR0o3aUdh?= =?utf-8?B?N2g1VUFJYm1KSlJqcWFDM0FmcTNMWWEzaEYxVzRUQ3kzTUdad1gyL3U5MGxq?= =?utf-8?B?eXpiTU5iY0NyaU1naUdMVHVoQWl4ZTJqMG9lSjl5Si9wMFNCNFNIbWo4WVE1?= =?utf-8?B?a1BVN29ZMStUUy9jQXQxdGxIN01HQTFwNUJUMjI1ZVNnTnMrSlJzYXJjaEc4?= =?utf-8?B?K0Q0SHp5UDNkWEUvZW5CZVpwNnJ5Wit4K3FnZVQxNTJLcFNhWEZXTThiR1BM?= =?utf-8?B?UURWcHk2ZFdHNFdJWFRoZy9Rc0ZDbWQrTW9mUGMzSWJ1cEMzRkFoM0sza3pP?= =?utf-8?B?NjJPR0lUTGJFRDVhaUgrMGdyYm16b3lDNVpGMldNVnVVRjErUHRnU05hMS9B?= =?utf-8?B?S1owV2QyWi9jWHJUZzl6ZUs0aUdLR2VvaGszeFVzOHR2aVVIL0pyRk9RSHVZ?= =?utf-8?B?Um96WUk4bzhBUUErQThXU1RpaFh0MFBhRUlNdjFTQjJXY0N1d2RYaUw5MkM3?= =?utf-8?B?S0dGSGVXRkd2RDd4dld3TEdab2ZpbGdSMnh2NFYrK05VMmZTTU5BdVYrVDQ3?= =?utf-8?B?dVBFQW5CRGFvYmlVd2hNSmJXemNNTHJ3NXBFSkM1WWVoQWs0ZitTcnlKUmp5?= =?utf-8?B?WGxqQ3V2N1d3bFJLWlpBVE9TNmE2bWc4SGdQUDZlcVpQa1FQZGd2K08vZVc4?= =?utf-8?B?Wno4MG1pckxERWZPWC9QZXpvUUxuQnc5bEVLZGljUmcvL3JjSDAvNUZPNmFR?= =?utf-8?Q?qS5CtgcRQ4uRXMEnVqDgRP3No?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: dfadfc46-692e-4258-9a9d-08dafd4df608 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2023 14:27:30.9977 (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: hTYP2kc37Q1Kw76wbLPfSYP+Jqq3PrFhMirTZKeNW6opZdWKm0RYCFLoIkDAPMLUV0kcMIZ+iFCT47nlKzEx5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8418 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1674484072114100001 Content-Type: text/plain; charset="utf-8" The types p2m_is_readonly() checks for aren't applicable to PV; specifically get_gfn() won't ever return any such type for PV domains. Extend the HVM-conditional block of code, also past the subsequent HVM- only if(). This way the "emulate_readonly" also becomes unreachable when !HVM, so move the conditional there upwards as well. Noticing the earlier shadow_mode_refcounts() check, move it up even further, right after that check. With that, the "done" label also needs marking as potentially unused. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- v2: Parts split off to a subsequent patch. --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -2613,8 +2613,6 @@ static int cf_check sh_page_fault( ? EXCRET_fault_fixed : 0; } =20 -#endif /* CONFIG_HVM */ - /* Ignore attempts to write to read-only memory. */ if ( p2m_is_readonly(p2mt) && (ft =3D=3D ft_demand_write) ) goto emulate_readonly; /* skip over the instruction */ @@ -2633,12 +2631,14 @@ static int cf_check sh_page_fault( goto emulate; } =20 +#endif /* CONFIG_HVM */ + perfc_incr(shadow_fault_fixed); d->arch.paging.log_dirty.fault_count++; sh_reset_early_unshadow(v); =20 trace_shadow_fixup(gw.l1e, va); - done: + done: __maybe_unused; sh_audit_gw(v, &gw); SHADOW_PRINTK("fixed\n"); shadow_audit_tables(v); @@ -2650,6 +2650,7 @@ static int cf_check sh_page_fault( if ( !shadow_mode_refcounts(d) || !guest_mode(regs) ) goto not_a_shadow_fault; =20 +#ifdef CONFIG_HVM /* * We do not emulate user writes. Instead we use them as a hint that t= he * page is no longer a page table. This behaviour differs from native,= but @@ -2677,7 +2678,6 @@ static int cf_check sh_page_fault( goto not_a_shadow_fault; } =20 -#ifdef CONFIG_HVM /* Unshadow if we are writing to a toplevel pagetable that is * flagged as a dying process, and that is not currently used. */ if ( sh_mfn_is_a_page_table(gmfn) && is_hvm_domain(d) && From nobody Fri May 17 06:54:14 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=1674484098; cv=pass; d=zohomail.com; s=zohoarc; b=IZ715o9t/H1b3WIWgwpXE4LA6qo3zkxqhX3weC0efKokL3CucRg2oKHo+NkE5qASpeBCWoH/9mI0aJ1NV2GjlikjdXHY7Tvfb3SLh1H3SzLZRjlsx2UsLqgC5g/NJa/t5qVj0dN9Ms8J6vxWvPZOigxNJeDV/JJzDOdFsrdemWo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1674484098; 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=McZZ2tlCGU0FnMGSjQr1T5hsn4TnYmgsmEZY2V3Kj+A=; b=YkojdZhQtvZJOYjC2IK/10TQ1keMq0BIa6IR2wMcRUwh4B+XO4vw6HrBBBwB+vCyP0nOcXUDh58mmx60XKyy0NMvK035ox03YwIqzPARfakKluNmq4TFP/A23q3s9fdgKam4a5LibKmjsr39S/UmtoDOEbgj3Rxf14jQhncAUmA= 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 1674484097899475.54810364276614; Mon, 23 Jan 2023 06:28:17 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.482915.748713 (Exim 4.92) (envelope-from ) id 1pJxni-00076O-Fp; Mon, 23 Jan 2023 14:27:58 +0000 Received: by outflank-mailman (output) from mailman id 482915.748713; Mon, 23 Jan 2023 14:27:58 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pJxni-00076H-C4; Mon, 23 Jan 2023 14:27:58 +0000 Received: by outflank-mailman (input) for mailman id 482915; Mon, 23 Jan 2023 14:27:57 +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 1pJxnh-0006sB-4x for xen-devel@lists.xenproject.org; Mon, 23 Jan 2023 14:27:57 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2073.outbound.protection.outlook.com [40.107.7.73]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 204467d1-9b2a-11ed-b8d1-410ff93cb8f0; Mon, 23 Jan 2023 15:27:55 +0100 (CET) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AS8PR04MB8418.eurprd04.prod.outlook.com (2603:10a6:20b:3fa::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Mon, 23 Jan 2023 14:27:53 +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.6002.033; Mon, 23 Jan 2023 14:27: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: 204467d1-9b2a-11ed-b8d1-410ff93cb8f0 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AsecHomFVzxaFf3PXbHir0jtjtkILKpmoJwrJpkk0vhagcAg0Y3BqC/VZ6G56T9dg3FN//Ac61BiWKQFVmTsa9rhXf2vJjj4EZa8c3uJhFCMG+e6V7D3uUquAxZaCdJEuFbJTidzJ4mHoQY3cG1NToe0qdinlEBcR4LCy+i7B23Wr9aycamnVqVsfiYSPy3g9EwOyAKyfzsggOaomHwM/UuUO6XcZH7MU72Lyq0p1RmEW8pPFGJwpeT32LjisNi2gfrN/oVXUF6NOHjh+xFJYpDOW3H2YpEAex71UJF9fLkH/jZMTrzBHtVvozSRck68BYEcdZeQPCYcbP6wO6hTmg== 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=McZZ2tlCGU0FnMGSjQr1T5hsn4TnYmgsmEZY2V3Kj+A=; b=CkkdDGnH9NWjPF59RfvXw/TmW/xdd5O0cDuNj2It3DAHGy233oCIdJHAbw7KhWJ0OlVkCt/X4kWUuHKEs8poc+ABqBBk7ELCMQEp66kSalVsknm0+WNO6ieDMzwhQmV7pSviVHVfh4EMXe16/A26telT14Iym5PSerr5kk8KXwZhQILQEHsYe/N4KgK7jMK9J49PTOUwkJ9MpNTeRICanZUVxxpa5WQ83AB3PlonInoornB1tnCr0D3q2oPbdrqhOe2w/Bt3MQeJsbgQryPEapeL3e4VEw7wgTueEPKZFcZHW5wdnb+/SAFUCbFOwgbeZnPlP2LXpsBu+j1wp9azSA== 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=McZZ2tlCGU0FnMGSjQr1T5hsn4TnYmgsmEZY2V3Kj+A=; b=agbQAo8tCPEPCRAZSOE5q6zYs4AD9uDn0cR4znqFPVqJ5ott7yuh3YamSCxR7uh76htjgxzT9bJ8eZbCdwP0Uh2fZs61y1BR01PYDDDOEC4L83ykZBvJ792GhO8cnPDRk/cKXfhDlHLhf/hS22D5ULjSOj9siDpN04cZhT72MNiK8CWuwyPmHrRkDgzWb9exvMaY4FGovBqhcnz9ZrB+dyFnsrKv8gho+cu5W4hhBuHd9jgEptMDLMbKYBH8BVIjSHSWOQ49cGrYsptjsgF1OE5wKJSbQlm9El4/gYsA0tUgK8tCLHz8q8nhFJbVZIbOzRYLlvnu8ewtaWvi512i1Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Mon, 23 Jan 2023 15:27:52 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: [PATCH v2 3/3] x86/shadow: drop dead code from HVM-only sh_page_fault() pieces 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: <0e682cd4-3cc0-461d-ee53-13a894797f17@suse.com> In-Reply-To: <0e682cd4-3cc0-461d-ee53-13a894797f17@suse.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR3P281CA0001.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::10) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8418:EE_ X-MS-Office365-Filtering-Correlation-Id: 046625c0-5bb1-473a-ae0c-08dafd4e0384 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bJwdo7v+a75JMGmuWUTtPQEHjfVr6yGpYClHz9Seoa0uMqSFbR8LAMLGdiCxGKsoC2msotg7pzWZxVj0ViU7K0tUCbhjnjMpqMoLS0yVnjzbmpsXf0SnX8eK5jGpQyEYaGEgcDv4+KRDxhsqUtqZnv68HJmqo1LK4U09ajc2K8mWCZXMh0Yfkb993HMR2obPStWWQRkaeq8+WPHY9elQ4rp/LcTdL4CGw/btCByGHiXvZEEMo26aSViySN6mbYwHfW5MrGKmn6TCiheswYfyjz6S7zzSJ8Kabi21bVhkGevis2LkzzM5jxGztBdbV+xlEioqgXI8e0PnbUnl4cilKn6ZWsqVSI5lfCmaDVewZGHWFmNo6ppzdnlwQ0y2iYYaV7tl7W7I3BuVqONMMXVnTLFkuanm/2h35cewFw8pi5+JVOxfLaa2g0OAazUHGTMEKe8arLpbiI+2PJRASz2+rpLXciD0aNE8/J7gO5ROG8ybwKCZNopt7p+tMubzcaEtXB5VVaQ7ZsrjmAcm9RrCn+t02bMinXeJRtR4oX7in6CmI2dmAcQieiWDEhUAQCKyAUuuQf2x5uOEdOffINIhopmt1V9gh6gjeyspW2U4PKYS9CzYod/88sPeACzKL5lawvqnUVc1n2LJce1KtgdQwy7U18IVGLiE28CTxCdSH5M5vz7bm5DIDPdjoapULavblQf2ongQz87Xp0uzkILWUktFXn/Gh+jIoie23nw+X5A= 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)(366004)(396003)(39850400004)(376002)(136003)(346002)(451199015)(38100700002)(83380400001)(31696002)(41300700001)(86362001)(2906002)(8936002)(5660300002)(4326008)(6916009)(8676002)(26005)(186003)(6512007)(6506007)(66476007)(316002)(54906003)(66946007)(2616005)(66556008)(478600001)(6486002)(31686004)(66899015)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SVdrbG9OVkJlNDhYdVpqM3Jod3hHZ1lQN1ZBMkV6UDJwNGgrWkF3cnJXWWZJ?= =?utf-8?B?UFU0U04vVHc3eTJxcHlQTlJiTVJ0T3N2dUdhM25RNW00UDRuVHlxWEc0aVo1?= =?utf-8?B?M0NkYWpMV1VBOUNVYjA0Z0dlcXRtQnJBTW8ybjhmOFJIeGM3aEJ4L1JJSkR5?= =?utf-8?B?VGdUVHdrTjM1Mkg0Um11SWFHWGk5dHpmTFVDTFdaS1U5b09NYXB5cWF2dWFJ?= =?utf-8?B?L0N6Q01kdnYwazBURTFaRVdmZS9lOGhjWEZPNSt5aVhpZVAyYmczVEo3dlUv?= =?utf-8?B?Zm05Y2dFSG9MOGdRbW9DdXRXc3owUFdFZzF0SkFZMUVoTjljc0hwZWZKV251?= =?utf-8?B?elZVY3ZkOTUvMXpBRjdZNTVqUzlJcDdQTHY3c1BNbmVUQWNTeDE2U0k4eGtW?= =?utf-8?B?QWNvR0RCeUlVcXRCRW1xT2tLZHh0akVOcVIwaW9KczhwK25UeGtYRmpyMGor?= =?utf-8?B?dUNPQzNoVnNUYjB6QmJsUDBFTmljNUlrSlg3dzU5UEx1bkhJdjM0bUdtOXdO?= =?utf-8?B?RVR6a3h5d25OWFFhWkZVd3h3WmcrSnMyT1FMdGp1UURLZXVhbm5CUGJoTCtz?= =?utf-8?B?U2pmMGFUR2FueXJzb1BmbjZudFVpRUFRdmxJaG10M0JSRlhkT2VmOG5KVzkv?= =?utf-8?B?OFpHYkY5RlV1RGJYSlFvSkFNWk9idXRFa21iLzNNWEU0K2xhNGZ4OVl6ZXdZ?= =?utf-8?B?RWZkMTFpamM4c0M4cmdwaG5rV0xGZzlvcDFuMHB4Y3pqNlczUmxQeWh5alpB?= =?utf-8?B?WldFVW1mOU9nVXZwR1pjOEZMd3d0R2lpQkZ5R3NKSEo1SnZGdklOODM3cUpU?= =?utf-8?B?R2NXZGFmcDJtTHJUZHU4OG94ME9PUUxnMGNYQU1RSTVma1QxQURYeFp5bjc4?= =?utf-8?B?a0grS1kzWWU1RlpuNE8rVkZLUHc0OU41K2h4VHI0WjNXdkxkLzBVdHpjZG42?= =?utf-8?B?UVd4YUpuOU0ybzJxV2FsVFh1L3hZSDhWb01rZWkxbWRPVHAyT1psSTVvdzFh?= =?utf-8?B?dFE3QURaTzh5OXA3akRvNFB5dmhBd3M1NW04Y3hVSWd1WCtGdVNOMlZwVUpC?= =?utf-8?B?aWJlN2JBcmx0eHZRTTc1K1BNMVlBbkFFM2RtL3ArT2FGS1Zwam5sNjl6Qngz?= =?utf-8?B?MXlGMW5mYXp6QlJOZHkzWDBoekpYQ1VxZ1JOa2ZFV2NPWHlYQnJTcWtoZm5m?= =?utf-8?B?STlhNkd6TVpValdudzhSS01lN0JvUXI3T005U05lZnJBakFsT1o1TmQwM0tU?= =?utf-8?B?Q3V3c2p5VW11Ym9BZjU3eEhLYiswK0dlZHBCL0ZVcnRZZHorc0RCNlRTRFRo?= =?utf-8?B?NEREN3RJUDU0YXVBWWVnRTdaSmlZL0xKSW9ydUlXcDhna0hxcWpEYVpSdG9t?= =?utf-8?B?Y1dSaVF2NG9oS0RpZVh0T1U0akJpNzVCVWhwbytRSWdZR1N6S2N5TGlPMitp?= =?utf-8?B?cmhVZmpUUHRaNVdXSEw5Q2tSUEJIK0xnY285ZytCSmlGRDJUdnowc0doT2ZZ?= =?utf-8?B?RGxncDdsWW9takU1ajJHbHlqV0VBamlsYW4vT1RiOG00WnBLend5Z1hZV08r?= =?utf-8?B?TFk4anovK2hCQmNLS1lyTnpBRDYxelRDRFFQQkNIME1FVWphekNscUpEWVY4?= =?utf-8?B?aUlJY1VjNCtIdDhaL25BTGwzb0d0TDNLc2RVRWVqN2VNRTM3VC90OXk1VWF0?= =?utf-8?B?c3Fwc0hmUW8xbnFNNkl3ay9PR1NXbnk0eEt3TnRuQVQzbmp6NzdVMzIvMW5C?= =?utf-8?B?dWZJemU4UXJTdnU4QUNZTWZXRW9YU0hTeS90ZW9UM1BxVENEbXNsRWpsMEE3?= =?utf-8?B?bi9GdWREaFVlTFJySkpkRENWdUQ0M2lEeVNySnQzZGlGU3czY2YvTGJKQ1Fj?= =?utf-8?B?SjBHTE0xRm5HYVhyL2RsNE01T0ZVS3RGb0pYNVlHZkJCay9CRGxHaGNqQnJh?= =?utf-8?B?Tk4ySjVBRXNhQ3IzOHRiT2I3RkhmMEtoM05BcTNudmNEU25OOGcwaVlmcmF6?= =?utf-8?B?dTRFZDNJL1F3ZFNrTkIvRzJVM3A1bWhONGRBbVFUaEtKVFZPNEhjRE10WkdB?= =?utf-8?B?cERsTUJkMEcyZWJxUWVQbGFpWk5iWFlhMk84ajZnd3cweWJFQVc0UjdZR294?= =?utf-8?Q?dZF9XLFF0S+DjeSF7QnsVPwLg?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 046625c0-5bb1-473a-ae0c-08dafd4e0384 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2023 14:27:53.6368 (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: /gNnm3071tpyzeWkgoAZJ1i6/Lsbe3KdSRjCDSIWg12LlILeD3BdFFRk/Ebu6Sk3HUgIyFavUSMNE7wsAToxcw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8418 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1674484100361100001 Content-Type: text/plain; charset="utf-8" The shadow_mode_refcounts() check immediately ahead of the "emulate" label renders redundant two subsequent is_hvm_domain() checks (the latter of which was already redundant with the former). Also guest_mode() checks are pointless when we already know we're dealing with a HVM domain. Finally style-adjust a comment which otherwise would be fully visible as patch context anyway. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- v2: New, split off from earlier patch. --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -2594,8 +2594,6 @@ static int cf_check sh_page_fault( if ( p2mt =3D=3D p2m_mmio_dm ) { ASSERT(is_hvm_vcpu(v)); - if ( !guest_mode(regs) ) - goto not_a_shadow_fault; =20 sh_audit_gw(v, &gw); gpa =3D guest_walk_to_gpa(&gw); @@ -2647,7 +2645,7 @@ static int cf_check sh_page_fault( return EXCRET_fault_fixed; =20 emulate: - if ( !shadow_mode_refcounts(d) || !guest_mode(regs) ) + if ( !shadow_mode_refcounts(d) ) goto not_a_shadow_fault; =20 #ifdef CONFIG_HVM @@ -2672,16 +2670,11 @@ static int cf_check sh_page_fault( * caught by user-mode page-table check above. */ emulate_readonly: - if ( !is_hvm_domain(d) ) - { - ASSERT_UNREACHABLE(); - goto not_a_shadow_fault; - } - - /* Unshadow if we are writing to a toplevel pagetable that is - * flagged as a dying process, and that is not currently used. */ - if ( sh_mfn_is_a_page_table(gmfn) && is_hvm_domain(d) && - mfn_to_page(gmfn)->pagetable_dying ) + /* + * Unshadow if we are writing to a toplevel pagetable that is + * flagged as a dying process, and that is not currently used. + */ + if ( sh_mfn_is_a_page_table(gmfn) && mfn_to_page(gmfn)->pagetable_dyin= g ) { int used =3D 0; struct vcpu *tmp;