From patchwork Fri Jun 10 07:26:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12876577 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 A944FC43334 for ; Fri, 10 Jun 2022 07:27:10 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.345899.571574 (Exim 4.92) (envelope-from ) id 1nzZ2i-0006J7-7c; Fri, 10 Jun 2022 07:26:52 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 345899.571574; Fri, 10 Jun 2022 07:26:52 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nzZ2i-0006J0-4t; Fri, 10 Jun 2022 07:26:52 +0000 Received: by outflank-mailman (input) for mailman id 345899; Fri, 10 Jun 2022 07:26:50 +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 1nzZ2g-0006Iu-EN for xen-devel@lists.xenproject.org; Fri, 10 Jun 2022 07:26:50 +0000 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-ve1eur02on0606.outbound.protection.outlook.com [2a01:111:f400:fe06::606]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id b0ae3f70-e88e-11ec-bd2c-47488cf2e6aa; Fri, 10 Jun 2022 09:26:49 +0200 (CEST) Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by DB9PR04MB8464.eurprd04.prod.outlook.com (2603:10a6:10:2c1::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.13; Fri, 10 Jun 2022 07:26:47 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::dfa:a64a:432f:e26b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::dfa:a64a:432f:e26b%7]) with mapi id 15.20.5332.013; Fri, 10 Jun 2022 07:26:47 +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: b0ae3f70-e88e-11ec-bd2c-47488cf2e6aa ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BqXZusYFeC2YU9uxhk7Mndq1NH99RvYYZKpRuyAe+fYj8UkXBJcH/SjDSmzygqPayYTb5UeaWhb/vL6Wdgusoh4Muinc7HhesY20x+1N8OBV4s+YFnlzKThSrT+fSo50JbNMjVwL5khU82mUn/1xfjqcbX3hfjAK1rJsIZSA+b2++zLpu2bDyvlNicNwZ0WK59yiTsetUoX6a1q1citI12AkqG+NlPjTZtBYP0VOby1mBhFn46W+T4yp0eJjz30mryRpsDzeKg/gi7pinPINuYzAC/dLzy9jMLosEeUvTeHfMyLz+lPbJ/xOh/2MkzpqVcBFXwNnS3No3sMuy7eWWw== 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=CUi+/aZOqk6Pk2CluuFgLnlx0BJ86/N14ldIJ05RjQA=; b=EblOnEHW6lgnDKjgHeZraMEttlhHcwFJhQ+nezDLTjk5HonLYdEwOHZtxApEchHJApVLLjPKfBBCKArF1mxOpKEsdMfpCcloWWVx187NKsyrPkTckx0jr9Fj2Ldp9KnlascCNeNtsenB+Misqxc3DMDJuYfFZaC7N1Vo5WBt0MPPulczLIl9rRVKACyy5gXmSJvLVASYDERzo+5Kh1pxzL7gG6Wd8mGRfyoKd11g3PmFUuLoCJ+G2bVR/bK6SH9UW7FDAPC0ycKG7ut9Vl57Rg+6ZEmUCPwEF7FJLIKrTRJUh5e7xiPGmYCCKdp+067kpr/dFdS5CP21cLOt6w5CJg== 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=CUi+/aZOqk6Pk2CluuFgLnlx0BJ86/N14ldIJ05RjQA=; b=ORtCneGjBpi12ZfIzIMVfhJ2i2vXE4eRo0ZIaDAmaaCyKidlzQYNvRBj4F3gX/FrGuNRR8EMkW6AYfTUEJ8ky8WO48+036bSGPpX9nvys1d915cfhIW9KR3Ri7c3SgzadhIjsjMNYiddhdcCTtwTfnbg/BPh/1n6wD+jhYJMG0cJ4SCPz6rZhrLXJSMSgEYxsIR0OjFnvrgXjwDsRkoqnPBOl61XroBiYAvMQa1o+ZhEEM8zqfGCQoTRUgSSKKeIdX60uw+ZD7QAJtm2KZbH45Gx2Ud0+me1P5lt2u9yKdRHJbxaLW1RIQet04I3o2s74RiNg2JHL/1OBxc4G4gOEg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Fri, 10 Jun 2022 09:26:45 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Content-Language: en-US To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= From: Jan Beulich Subject: [PATCH] x86/mm: account for PGT_pae_xen_l2 in recently added assertion X-ClientProxiedBy: CWLP123CA0243.GBRP123.PROD.OUTLOOK.COM (2603:10a6:400:19e::7) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a0f6b4aa-7c79-4c14-42af-08da4ab293c9 X-MS-TrafficTypeDiagnostic: DB9PR04MB8464:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: m1Qylz/mImGzH9trS9b872tXjKIM3yKG3G9x1YB1Y2Nf+ILAzNExOYrMCesFEKfG9/DhRQbshaZHjLagqzv0No0+qN8wLsfbWuzlqn5RvwWq6t3oou3lVqTTpDfcQhhVF8pfLfdypR8dzjkBN+CT3rEn9Ud/FJvLy/YisP2xtuJcqXKY5p2IUYuTxTM9edA914BnKM85c90ElWvt4miIF6TfMXEHvyRYIFS/hTkuHSYG8y4L1wW6FbWKkWQEW+sxR9F66RlOHMGUi/J1tr3JTKV7fuMEq25MYCIPFX0ezYGBVfbKv1Bh9v5M/xPLq0HoFsZ30gg8zgBhz8Cxi8L2yVksYMY7ol/DnmZvntvT7Z3kCLgvuoskm6hpsDzDbtDrmG4wez3Jo9vBaRh1760hlAx5bv+whFyKA/2kZSLJdf+QexyCQDDz2eXDzMf/kYFtn5jDBYzRNqqyp+M1vmZLMOfgBtG7AG6ttUdKfGxt1hSfuIW/x5o5D6ODFqlr+ue8jJmvS59gkC2LqNGUZDA9b5Ct/kVKYGN415JhWxwYUrO8clAkddmFbif+06kJxj8YHFNNhgx657FzR5OH/z15AidN/Zs3Jbp3ihjktAqfybrq7NuI4Nq4GgkIMfER8CkPz2PtoqeC0SIbKTsAN4oFwADntS9Gf4qeiH3KnfUemUCG7RhjOX4A7GUQGgHUNnQWfLlRQniOZ+9EPXoPSWTlL9pESon9s7Mx8PfCqcH+Trs= 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:(13230001)(366004)(54906003)(186003)(316002)(6916009)(66556008)(4744005)(4326008)(8676002)(66946007)(66476007)(31686004)(6512007)(5660300002)(8936002)(2616005)(26005)(6506007)(31696002)(86362001)(508600001)(38100700002)(2906002)(36756003)(6486002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?KYnPMIHNt0DVj5VMZh+8JpUYOBOV?= =?utf-8?q?ob2tF8yCtMSakQtApxB/kJq4U3iCbrOd0AdkPGlZN38qojCzeG7vcr+XHFmWjw9Xr?= =?utf-8?q?vZijpYL6resYVYVtVv9yK4VwnI/kDkb4K5RmO1b6U+yPY9v4yJ4sX939hW8Tdah5+?= =?utf-8?q?NPpGfNh73//Whu2GwTYXM4BquE/5Ml4EiEspq5ArGDP7VnGFsb70EfYXWCTlUjxIL?= =?utf-8?q?bhTr9pSO/dqEdYFMGplTgGpTQx9MVZxTHPAW+mCnfrxenvzUy2V4Qp+dNMzugqju2?= =?utf-8?q?CYMKrBq4EAQyEHxkR9EqYDg8NdZQzjSwyxje47tNLQ+4ohUNkPCrE/TecYMcYuXBt?= =?utf-8?q?/CqccjtMvNurEAKlWmReY+qmBJGwt45CzTYIzqKDQkqJfx6T/QHrUqYGYOrTzvEKy?= =?utf-8?q?qIc7B3VWJeMIreNT9KsY6xvhZTy6SErBvRF1rxGGBhXsQygNxrlMylOAXOM6Q4ej5?= =?utf-8?q?7rwhqYzTi5sIJpFaPzdj5pxwQSaWqb5OZuxQ+E7GIDIO0yy91LUeibMdj5N6gIGMB?= =?utf-8?q?kFh85E8jVfwTfwdydbh701tyJjVleEu8NtoYXqMUGwJsLvee0IP95qRmEsFmjtWE/?= =?utf-8?q?akEu8VQsyWidXR/EgNsO8Ad6CMhN5WBXlCUsx1mlhfLqSKc7lwsM5nkxhX2yG0WY3?= =?utf-8?q?FCSNfNuusYPY2bkupmuFMX8GH2kYd758BKc7GFtZTXY2v0M/WhF9Bf6Pjy5ztLCEZ?= =?utf-8?q?zZQFOAtRe9geiNyId1CfXT2PPfA4qj3LECPS9FUj9L+ITv3FTiMmaC1WQs1bQ8bar?= =?utf-8?q?oYsz+NjUZJGkDSoF1R+WBnqagK2QfiANhb4RjTiy/HLA4GTGUcG8X+BGcZOX97Abx?= =?utf-8?q?1ZX/KWPKsx5TDoMQdYFQCTWk32OA03o/aqFOIxuHm16Y4XRW9ZPzBeulzvsV3Aizp?= =?utf-8?q?REuxRtMspLCC5+2oFt5dUy/q0ETwufnzHMsmTfhTdmu9XW4kovowrrwytUYmXVsWX?= =?utf-8?q?jn8TIvkC+jfd5exBsvkZ/Ni+J+ug+6z/JMQLQXQF6kSYTiZEcVCjtSkQuwLzcfLrS?= =?utf-8?q?x9xZMhOXJobqR7mum6e4d8Z+m+kgFsTskaac5aBbuUBdYMVAENMx/Psa4riXARpWI?= =?utf-8?q?OSa3TgWgirF8hie02of3lLrKQHur/oVwOeTFKuQ0Z/MU0TA8gVcz7xT3KfxHTwn8Z?= =?utf-8?q?5vCi6Bu9eUwuJhc4MwziCN+jfF9f2TGxekKfbTwxZRxTf6Ygpla7ZD1rr2eJqIpgq?= =?utf-8?q?Kh5oJ1vPUYSqvNsWAOylvTn6h01MOMoa/+Fo0yYQevDnvIM+tiy4afpanijPDEY8+?= =?utf-8?q?1ft+slCgkADS2ZgJt0RMJdl2t6Dl2GEnp1JhNWKGthLvVs5XAwLVzfVe+92HBY8ES?= =?utf-8?q?BRkdKI7GRTERzr4prJo4T8Ba0pplOpmJGL2W+b/uq7DJonsUkFdBOTrFmQfG+uTiW?= =?utf-8?q?VnD+0vvN59RVv7c0cam9W/4XHaFGaFJiCnAHcpfsfm9D0Sg5lOnXEnW39N+xaEn+F?= =?utf-8?q?Y13Vvoyb7G1ko1oXF5wmEvpbhYIfF53u3elsuLfGHo49CgKWHiDvsgbsSXo7DR97d?= =?utf-8?q?8BJBUkmZavgwPLPcpGiGraEPt6GHvBe30RDNofz5q5wKKaNAoA+W3IyB07GINNp3J?= =?utf-8?q?OudaUBCIbPI/9KbagVXgyqfgLvoxkDUNP5ctLUZpouTsQthRKgnvnKzpXicAvDE8g?= =?utf-8?q?lTs5LkaESHwo8cLG2D8Nat+ctAaih6cg=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a0f6b4aa-7c79-4c14-42af-08da4ab293c9 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2022 07:26:47.2452 (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: 11kZaHzOeLKE4Qtw5jceJS5+qAIP29m9hEIfjPM7KV0INRI79o88qVY6ihE8ZZMa/iimRlkC4/n9hvkXRgw9Yw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8464 While PGT_pae_xen_l2 will be zapped once the type refcount of an L2 page reaches zero, it'll be retained as long as the type refcount is non- zero. Hence any checking against the requested type needs to either zap the bit from the type or include it in the used mask. Fixes: 9186e96b199e ("x86/pv: Clean up _get_page_type()") Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- The check around the TLB flush which was moved for XSA-401 also looks to needlessly trigger a flush when "type" has the bit set (while "x" wouldn't). That's no different from original behavior, but still looks inefficient. --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -2956,7 +2956,8 @@ static int _get_page_type(struct page_in * The page is in one of two states (depending on PGT_partial), * and should have exactly one reference. */ - ASSERT((x & (PGT_type_mask | PGT_count_mask)) == (type | 1)); + ASSERT((x & (PGT_type_mask | PGT_pae_xen_l2 | PGT_count_mask)) == + (type | 1)); if ( !(x & PGT_partial) ) {