From patchwork Fri Jun 25 13:22:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12345063 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8862AC2B9F4 for ; Fri, 25 Jun 2021 13:23:10 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 38C6B61973 for ; Fri, 25 Jun 2021 13:23:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 38C6B61973 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from list by lists.xenproject.org with outflank-mailman.147222.271232 (Exim 4.92) (envelope-from ) id 1lwlnU-0005a2-1l; Fri, 25 Jun 2021 13:23:04 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 147222.271232; Fri, 25 Jun 2021 13:23:04 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlnT-0005Zt-Ua; Fri, 25 Jun 2021 13:23:03 +0000 Received: by outflank-mailman (input) for mailman id 147222; Fri, 25 Jun 2021 13:23:02 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lwlnR-0005ZZ-VH for xen-devel@lists.xenproject.org; Fri, 25 Jun 2021 13:23:02 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 6ecbdc7a-0b1f-4419-9918-bb8ef96ef5ec; Fri, 25 Jun 2021 13:23:01 +0000 (UTC) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2113.outbound.protection.outlook.com [104.47.17.113]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-18-frDSjFXnPK6jZigERtBcXQ-1; Fri, 25 Jun 2021 15:22:58 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB3390.eurprd04.prod.outlook.com (2603:10a6:803:9::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Fri, 25 Jun 2021 13:22:57 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::99d3:99cd:8adf:3eea%5]) with mapi id 15.20.4264.020; Fri, 25 Jun 2021 13:22:57 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM0PR10CA0001.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Fri, 25 Jun 2021 13:22:57 +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: 6ecbdc7a-0b1f-4419-9918-bb8ef96ef5ec DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1624627380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TOsEQIQ7DC4In8gkn+d6JI6dXDcB4jJx1x6CvkOlsRs=; b=a294FYBBvevlEBSopuYlVQqhszzmfSbTE7t9hBDK8N6rywXNcNLP8S+fxayAh6ziWEsi9c 0q9crPVxYmCbTbzzdXVnmploYmvtqKfBtXPC5P5ai0qeRq1LcDamKzneMGb9cgJ27scKiC La1gXC4T5s/hJOT9htu+eT/qqBsBCCA= X-MC-Unique: frDSjFXnPK6jZigERtBcXQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dcTx8zSM+36hmkBn9SkOeA1y9eGzh77AwAiCevfWZFWyqsKahC6oa3Su8EMpfslsbP4aHVclDh2NG+WxE467GiCMry6fEQsrDs1dEVeFq1ZqJdPyoyTkFg7q31K7lD3Jd2BU620dkjrazEOgv8LjwwKa45vD/s7AjY6c7DGPgzzZzade8NFpK8Mh6Sav/Wdr1WMIF4i1tqZk/lof3G9qwZnfaeMmixGal+gjFsXssFg4VCRGq0n7nzxYke5cskDI9LZC4p3/hKl8BVfyvc2ubzyJZifS/FnNQgPQv/wHANfLm9HWBKEeEjZkItMtWsx9aMFk26cjErh/gbCFUvZZZg== 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-SenderADCheck; bh=TOsEQIQ7DC4In8gkn+d6JI6dXDcB4jJx1x6CvkOlsRs=; b=eqGAmsarqy5g4BLw8UmE2yP/9ADmi6ZcoQKEjyn3SjIHA7s23IAkQQTZvX2Ptr5r5vUifTbqxmQbT5jl8R8Q8vcF1Nj0NHXgOUXz3IRBIj6VHT9Ari5xGPE1fOPQCMAy5WFHowPpy0cd9qoQBNUMJvIe14rjtJnaXAiGbjD1XKtoc1I7rdm6VYTiBBA+hAdT4W5Mp1xXgZs7+C6+UgI/MLMqDSpO+ozM9y4ccJiPrB024dimBcEUYOQ3r3nDrARKo8IpdyhhDbsKUihsVipPiV7kdTUFqW4iIEzmWm7ne4lFokBlDzxZo//gG8s/sjrpOeZ1h7c3//bG1I4EH/wXcw== 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 Authentication-Results: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH 11/12] x86/mm: pull a sanity check earlier in xenmem_add_to_physmap_one() 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: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Message-ID: Date: Fri, 25 Jun 2021 15:22:55 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <912fa390-f9e9-198a-9aee-39fdb9a28fcc@suse.com> Content-Language: en-US X-Originating-IP: [37.24.206.209] X-ClientProxiedBy: AM0PR10CA0001.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::11) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1ece2f6b-d618-4c8c-3a0f-08d937dc5908 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3390: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3044; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7xyUAR0A/RyvqjdVpfXbO55nZVhV2Nl9kmzv1YUNQjp5k9I9GjwNbRna0aX0hjuUbF6kNvyTx5/5OcMiACRiAkxknMWqjfDsM2qUUqM4bvLJu54Ii7yCNRZKUFYvqUkBi4fSE40SyeyJBp589+FClvzd3e3ALwqXRBRfVG0VaLO6Wid7QsYWFa/XNFedJ7YxZZimJjtzcFbB8NEc5TWC84e8+/AO2hJdlhLExJvldtgrfsOP5JTMHwzytCrkhhoSeyvUEwCFVh216m8QsGURcjGl/ton9NAysRNgYi2VixjaIieLB69mxQbQaSYPv97qRcBz3KaxW17xl5cm9ATCnXKj+k34/jug6g8SKE9OowhuPi3EagnAf6DlETnoc/GZ05yEr5Z/qoaaE6aH5yCp3nzxrJz7qJFD5Gs19/pYuEf3YGO11v3GMyB4PyC5lyuVmTEHVFsUWGb6RYwOuxw92NsQnttrADOiPCVaMZQfFjRU159ntFPQubbeo/4QxHr6hQDcbCQLegi0GbYZeQM7BRi+y12QsPBRAiUGgml/dLm5C8eiJHc0jTKoVRSBHxZt65vQBrY9ZFMDd7cp4Uz22XSfLnHBbKKpDvEsCtYvQASbJVFMAUEckPtr1TCFGg57+k/nedA71Mu9Bi0ActoXu6ot5/MERjrYN461m/EPtKtiMNqu1Fe7mMlZrsZzq5T7 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(376002)(136003)(39860400002)(346002)(366004)(396003)(16526019)(36756003)(83380400001)(26005)(4326008)(186003)(31686004)(8936002)(478600001)(54906003)(86362001)(2906002)(66946007)(38100700002)(16576012)(956004)(6486002)(8676002)(5660300002)(6916009)(66556008)(66476007)(31696002)(316002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Ttl0Etgi2v6Se0PL/QfcpqARCidP?= =?utf-8?q?qSKRKZy9i0+W+KmLwMCsqH2Eit7D0gIYJFR86BO+xPDP1xJlUh4LJ8BcUqCigOzgH?= =?utf-8?q?hvCmWWgdPTdNtax1QBZuM4d8icT6NjSkINtH6upB6mFucArm2a3TOMbAnisru8y39?= =?utf-8?q?tAIF7Bkg3Ged31LvwqSyPHolzmrztMjwSCbHhOt9EX+/UYHH8s1tmCbS8sJRLi+if?= =?utf-8?q?W31/vtvuyz/RaYFYH5Mn8KjRXVCNfVG/DcCFU7k6VUhIoqvhblvC1qZIoPSjvUS8V?= =?utf-8?q?/fcZqjkxte+60X3vg13D2KSp1L7qgRGEs0vbE7QR/MZMfsODBPiYC5ob+TN11hKgz?= =?utf-8?q?Xq1VBKans66HSucz3pn4f9b/mG7noTNgnb6WEuws3bwdFT/A6tKQgbcjx8QjYzf8z?= =?utf-8?q?FsLxDM/WPfbK/myr5wh/pXf1+OOpJ1E49NMS7SIiWoBhPGw4lvwAK0irXsaoGuLQQ?= =?utf-8?q?gIzM1/AODoUM4/Vp1mw++Z5L2imWUIUoVX/zvVEJcKJ16aWrQL2Y5AF1Saw9WwP1y?= =?utf-8?q?jsyYrCb9uqhPJZM3nLzP6jPR6sROSYeAvO24ENPT3pClbJVXujo5zRDP+NN7RNeW2?= =?utf-8?q?G3Onc/shMwsH9HFbManfJsZBwYMDJwn4Ap8OL3HLJ6+5s6FdG/kDmr8/RWsEH6FXK?= =?utf-8?q?DWaHCaxow7XWnrudjf/punlNiFzzPEDQciWCj9ES7myJyppTNJTla8I4IaJjZ7cgo?= =?utf-8?q?ojLmge+3BUnLhrvCTaT/c8IZSiPjEp+6uMUG5FJlcepMfNxZm9z1gbVs6j9wQPjuO?= =?utf-8?q?AbMU5AvJQxu7BTVTikKaa3uwXmqiH8njQ1j+a+V+FB9t7uZnUGhqVaVru+6dDeQdS?= =?utf-8?q?/0xXQeMmHthR0RGT6siaW0MTrNVS8271XbJn+XMPewqGSidOCLC31qe9lrJslJ3D5?= =?utf-8?q?JkvwweqKQIVjX9NXKZJl7+OLDIRBXuDSzVbt75MpCaO3CzCqqbsQYYBtFtpLKDl2M?= =?utf-8?q?ovpBSjDiq1WcHVn2UbTKeONs1CmeM47GUiCW0rxlJcJ2K3Shrd8Of2mhmCJF4TXyo?= =?utf-8?q?YOOgEP9fQMl6uJ+mdGhuKRls3dYfts2DFsU3u4Y13yZeF5ZBtxS2HGRINu4sDVP3d?= =?utf-8?q?coUroPUr94E85WQN3NbDzWHIGyMpmsVLuI4ZjiXn2JOY4dC0SmPz8qIgNhlIAavDf?= =?utf-8?q?3oZ2+T+AC6bMNxC8U3SnuPA/HeZGvYtYp1y93AWnAETPm7ndlg2htjoSo/oJ8/8a9?= =?utf-8?q?Zpiwt1+ZdiPEn4levdfIdmZlrhVTDVkfCsb8b59OxEDVIeR4q/txwB1BvyTd5UKFL?= =?utf-8?q?hTOPuoqxOdnGtUuR?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1ece2f6b-d618-4c8c-3a0f-08d937dc5908 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 13:22:57.6699 (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: eY9aUD2DFKrcuTfzJRjzpStfP4VfHFj23vi2RhVLzuNtIbgNq+8YsikGeVXm1W3ofXfD7kVIgt//Xy3sw4X31A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3390 We should try to limit the failure reasons after we've started making changes. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -2763,6 +2763,15 @@ int xenmem_add_to_physmap_one( goto put_both; } + /* XENMAPSPACE_gmfn: Check if the MFN is associated with another GFN. */ + old_gpfn = get_gpfn_from_mfn(mfn_x(mfn)); + ASSERT(!SHARED_M2P(old_gpfn)); + if ( space == XENMAPSPACE_gmfn && old_gpfn != gfn ) + { + rc = -EXDEV; + goto put_both; + } + /* Remove previously mapped page if it was present. */ prev_mfn = get_gfn(d, gfn_x(gpfn), &p2mt); if ( mfn_valid(prev_mfn) ) @@ -2781,13 +2790,6 @@ int xenmem_add_to_physmap_one( goto put_both; /* Unmap from old location, if any. */ - old_gpfn = get_gpfn_from_mfn(mfn_x(mfn)); - ASSERT(!SHARED_M2P(old_gpfn)); - if ( space == XENMAPSPACE_gmfn && old_gpfn != gfn ) - { - rc = -EXDEV; - goto put_both; - } if ( old_gpfn != INVALID_M2P_ENTRY ) rc = guest_physmap_remove_page(d, _gfn(old_gpfn), mfn, PAGE_ORDER_4K);