From nobody Mon May 6 21:02:47 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=1636469849; cv=pass; d=zohomail.com; s=zohoarc; b=BLL2ox+EjzIpHKR/rnqjM+C4t6UX1hhu755VZEOpnuKzIi7WSOkM324ETCsYltsdmUwTwBjGH300EFP7djt+80oqeqKgUoZ2NfM+JwHbSkbDuBD+R9KO9jNaDSvNczAhf6l27+ILw8yIRaqw0waBihrcn3QBiKSa0w9PpyZdNQM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1636469849; 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=wMRh1TVmrnjdKeqysw7fuqZzraxYoHb4qRDEO2U2g34=; b=bVXvcuYmHcw2ngT4ehlT5oHqRxmPaRo4S36WVsaDn3P4TGDihJy1y2MZ3v+LzTjT9QOufD4DKZEHe6InmBohj+HWcvHysOY9g9mE+hjL6g2ceV7+Gx0PgFc3dq8WTS+m5OhbLZTY2ugFYB2VxDBLa6Ndo/Veyz+3zKOsBMlBk6k= 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 1636469849428909.7469226314528; Tue, 9 Nov 2021 06:57:29 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.223993.387005 (Exim 4.92) (envelope-from ) id 1mkSYk-0000BK-DZ; Tue, 09 Nov 2021 14:57:14 +0000 Received: by outflank-mailman (output) from mailman id 223993.387005; Tue, 09 Nov 2021 14:57: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 1mkSYk-0000BD-AA; Tue, 09 Nov 2021 14:57:14 +0000 Received: by outflank-mailman (input) for mailman id 223993; Tue, 09 Nov 2021 14:57:13 +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 1mkSYj-0008Pr-78 for xen-devel@lists.xenproject.org; Tue, 09 Nov 2021 14:57:13 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 51c91e5c-416d-11ec-a9d2-d9f7a1cc8784; Tue, 09 Nov 2021 15:57:12 +0100 (CET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-28-7pXC94hKOiS4kHvZzMrRWA-1; Tue, 09 Nov 2021 15:57:11 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB3389.eurprd04.prod.outlook.com (2603:10a6:803:b::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.15; Tue, 9 Nov 2021 14:57:08 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898%3]) with mapi id 15.20.4669.016; Tue, 9 Nov 2021 14:57:08 +0000 Received: from [10.156.60.236] (37.24.206.209) by AS9PR05CA0057.eurprd05.prod.outlook.com (2603:10a6:20b:489::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15 via Frontend Transport; Tue, 9 Nov 2021 14:57:08 +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: 51c91e5c-416d-11ec-a9d2-d9f7a1cc8784 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1636469832; 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=wMRh1TVmrnjdKeqysw7fuqZzraxYoHb4qRDEO2U2g34=; b=G6MUJll1eri+vbCC4CbcmSlfylo6LaG2Mjr0UExurO/7HUuMC0SXKpyxTz5ProhGTR7mfx TyqlD7Ugd5rdK2MU68J6Mnf4UJ614F4oJ25AyZCysbGF0NkKAvEngdsF+wMyr6Gn8C9xUa GWTj282bUqoZHCW8h+c0lhhD3pXvl60= X-MC-Unique: 7pXC94hKOiS4kHvZzMrRWA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F4y2llAGDF+NN/rRbFd+U4CfA2AWmdu3KOxpp3Ai8f3xIVOoO7wO6Sv6F0cLT35uQywPIf5l4erO/KSDCqt6QYmAACxMYFu0Cop1vladohY/dcaHIpYrURfMQY/d0iefiGOwXbF2SBIv8r2ujJ/QRt2tVj/7eqSkQpbyY1D9vf93XKuGnWelWROF9tRj5Mgzo6a5yPN32OWV+RVtkUKs1Qn9CYX+MOyRuKWR3iHRwfNmIWBhku4G4cYS9JUQ0K448ml3GdCx7L17a4IoHRKVfNhpegHL/r34YWU/EkDdGi/OeEScG2kpQQyEZISedpMLlDMEssfJXqDhPps+pgrRkg== 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=wMRh1TVmrnjdKeqysw7fuqZzraxYoHb4qRDEO2U2g34=; b=RLH5MC/29ts4v1Hx/OmWDpuxpd7KzNLCyVOkTirfjXfdY2z/efqySLuyHP7sMAsH1WNMLgYXX55tSrk9wHQnro7nGjvke/UQb26Z7Q779svAyIZcUu93W5edBcLN4dut+4Npw7jM3bIsimFKPHLOhOgx1hg/yuR8kLery3f72pk2YRrmeEoBFaze/QmU+fISFgWpzwylqWkHYaHNrmHzTXZuaOFkd4aRg1M2L0EX+8mcLkI3ofrWzK2S/PTpFx5n6ZAztJIn526/2glpYhSPy1g/UYTLJ4Q/1KaqXErNlO9N+eXWZNHfurrJGLZjTL/067cAAMgHAOMN1PjYjcmp0Q== 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: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: Date: Tue, 9 Nov 2021 15:57:07 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: [PATCH 1/3][4.16?] VT-d: per-domain IOMMU bitmap needs to have dynamic size Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Kevin Tian , Paul Durrant , Ian Jackson References: In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS9PR05CA0057.eurprd05.prod.outlook.com (2603:10a6:20b:489::35) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e514dd77-bcb7-4525-da9a-08d9a39133fe X-MS-TrafficTypeDiagnostic: VI1PR0402MB3389: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1013; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j4HN2eXbjss/OUXShVfiJHvOgSlAYpQ1syOw07uV8IyQwoxh7TmCFNSwWVLOsLJ/YTybn8xr2PqqQ2GNFdVz0rgyD+NMgb/QpBkn8D9fYIuD+xKb/3M9ruFcOuV1dr/Oe0cLCvPIvc2Sdk/n+Xde6Og1y1bSFZxP2PJDjMeYgtDDcCy6s01r7GRX8YnaHwDrdNlyRA9ebHd6sVEUwaaVHc/O5P236qGD1+su4k4I5yMu619VyDU6YDjRoQu9T+vF/2BV2GohmPBGbfckE6cdPpa0q9UFyvsKML653eValPlJyW5Rz0xAhfqDfxwZthmI16pl76iGkbUYkmGuRpkAVDd0MlTfeSz5ZZS13jAJhbYuQW6WQhAL2BOAx0MPvvdH108EpNKG7zgnfhqcEt7Ded1T6i1ejtAn4wPHUtGr3UTL7f9juTFHOdoN1RHQBTJy+QW9HTMuAlgJtM0mH638qU+jVBunQfsSaAELgXfoCYpHa7+5eVfESHFy4EYSscOTDh72wlqnlQNdwNBCEwDkBIelIla1gIznQ+f00BPu13Ku8ux8RZiI+8iHAraqGrVQJWaRoc9PDzELJI9M6IK3u3BYReWi3skq1cZDXftlDtelZH+0ufNGhzcM5gO8vsmsthaD9nCZa2hsqWk3Yn/VWkIeAWsO42Vk85eajMGz9HQqp4nb3wlKrct8iaZGfDe5fUMB03LFzryis9gl4U1USYZ3H+4jW/wF0NEACFc3U5Zhyovfii4eGU1PeONOCeOB5w19KX4ydxpq32Hw78Z9cQ== 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:(366004)(508600001)(8676002)(8936002)(16576012)(2616005)(83380400001)(6486002)(66476007)(66946007)(66556008)(31686004)(38100700002)(316002)(86362001)(2906002)(54906003)(5660300002)(186003)(6916009)(4326008)(31696002)(36756003)(26005)(956004)(45980500001)(43740500002)(309714004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?enhBaXBHT3ZDeC9laEJ0bXlUZ3U4N2syejMwQzZEWHpldFlSSUF6T2QraWxO?= =?utf-8?B?VHp1dDNpQlk2eVVhTkZncUd2VFd3K3FCalo4dFdFTEFGK0xxa1BwcmxPUEIz?= =?utf-8?B?WWZpSmxPRDR0NXN0dDRhWmM2NENpWGFrTzcrVlF1bCtSQ2VpSXdwdFMyK3RU?= =?utf-8?B?Z2FSaU1BOFd2Rm1sY1g5MENuTFVYVnVKUmp0NTgzTFMzT3hBSTE5SXBDRCtV?= =?utf-8?B?dzkxemwvazcyWnhxQWQ3R2FRVVcvV0lXMm1UTjg4RWNBOC9aUWY4ZnlJbGl4?= =?utf-8?B?QjFaMmtDbmUwZG9XMGdlQW9GcytIcFJrMEJJUlNaYlNlaFROSkJ5c2MyRkZE?= =?utf-8?B?RlZUM0Z3aG0vSWRRZFpMT0JWVlM4VlFHV3l1NDRsSzlnZC9UOGoydE5VNi94?= =?utf-8?B?UitmM2V6NDQwYWRiemlMUmcvcEF0Y3ZQVDNPdXF5Y2J1bWVHckowUFk2UHZ3?= =?utf-8?B?NXZuVGg5eDBlaFR0WUpIRnNPV1VVemw2YmtKUSs4NVgzT0MwWjhEWmJNT2Qz?= =?utf-8?B?dlFqbDUrWktGUWpWSEhnOEJVY0hWelRvNmhPb3EyN3Nndk5GcnhYUER5Yk5p?= =?utf-8?B?K3JyeGtZN1NPNThmMWRld0JteHY5NUY1OWtmQ3Jaa20zY21Pb2ZKOGpNRXR4?= =?utf-8?B?djN0eDVyNDQ2QkIxdFJ1SnRXckkrMlpaelJ1ODNFTXd5aW43Y0YrS25yUnJm?= =?utf-8?B?S041dWRxdVlhUXNyV2d5OWE5L2lTWmlBYkx6emhUbHVmSUtlTmlHUXBUK0h2?= =?utf-8?B?dis2cEVtQlR3T0VYamxPS1ExOFdZVjdUYWc4Q0MzclpTeEx5UmRmcmZhRFZX?= =?utf-8?B?alg3ci8vUzJPUFJLcUdwc1ZmWFJ2dFkvclNPOUpoTUdiZkRVZUlORlZLdW9Y?= =?utf-8?B?a0VXUEFoSVIzTlpSd3RMZ3NBeDZlb2xHby9tNE91TmxFZDJvd1dnRzBqYjdw?= =?utf-8?B?bjZzZnN3L2RlQ0RRanljMU0ra0E4ZXdnbU42d0tLR0tLRUVTZnduWWdhcVZC?= =?utf-8?B?eG1QTTJiQ2tVQ0prTlRuNWFxeW9CTE8yeVcxUkFRU1IrVU04Nnl3Nyt4dlRa?= =?utf-8?B?cCsrNjVDcHc0d1FjdXNuWXFHSGdqUEI4Yk1uRjRBVVhxb01EaWVCWnhDeFdI?= =?utf-8?B?S1VvTGVXSWVZZXpZbDl5YmJZVGlzcGx2aWJFa08yMGZvNzgzVEw2UTd6VG90?= =?utf-8?B?MW9pUUk0WUVod2p6V09yTzh3M3YvMzljVk5xbTZGOVRuUWV2WlNyMzJaRTJq?= =?utf-8?B?bjJoMkY4TzBOb1A0RU03eEo5c1FUbHdHL3piUnphV3lmcHU2R3lvQzFHTWM1?= =?utf-8?B?d0RtOWlrOTNLQ3YyVlBTV0MxNXVMMXVxbHU0WUQveFdyUWYxSlBsaFVKeCtF?= =?utf-8?B?K2hucGtuMWpDNGhCZG9tc3FOWnUvTmF2dzhWeGtzQTFDazVNdzZhdmsyTStY?= =?utf-8?B?d3JIQ2YxdExhMWYzQUs3SXhhYjRWYnFUT254K2NTQk5IWDdwczUwTWFLKzBU?= =?utf-8?B?Z1BtMHN6ZnBpbW1STVlwcFQwNnlCRHN6aDNvdzB2VFZ6N3Mxa2pXeFRlQjVr?= =?utf-8?B?YlFTWm5tU0pYcDA3OEVKL1EzUHE2VzdLWEhUQkxTWU1UMlF6Wk95SDlDQUVw?= =?utf-8?B?RVB1Z0ozcTh1N3FlV0hLbWRTRjg4eHl0d0h0TnlZTmhWZU9EN1l3OTU2MGYy?= =?utf-8?B?blNJeW5jSFFONzZCSVRhZlI4YnY0YndjTkJhMG9mM3ArSjUzSk13ZHdUZUhM?= =?utf-8?B?R0RqV0pKVldXTDkzTXZ1TTR5WUpyNlRVVTZpanMwdFFEemkwcGhzRzFWN3Vj?= =?utf-8?B?QWNNbHpxYVNEbkw2TlBURjRBMGFEaThzRXIyaWNQZExBVlFwZXFPVVlCOFZJ?= =?utf-8?B?SmQrWjV2dlR3ekJlNnhKd0ZvejFvL2xidWxvWjlON2FNMzByTnh1c0JtS1hT?= =?utf-8?B?bExrNk9NOXl6ZEs1bnNBdUlkQUhyZFp5WTJQTi9TRlNDNW55S3I4K0E5M1JE?= =?utf-8?B?amUxdCt0Y0RLOHFEUk94SDREWGt2blRCd0w1RFFyNE55U0F6MnZoU2E3R2ht?= =?utf-8?B?WThBbUhmY3pRaWdTU2o3UHNhS0dwbFF6bFp3OS9SMFVrems1MXRJY1hrSWQx?= =?utf-8?B?ZGxYUVptV1QvMTNWMTJHQTk1UWxXL1c5amV3aGNtQVZvWTh1MkNkRkJzLzIv?= =?utf-8?Q?F878eKmqsZ1G9Ruj8sXpAjc=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e514dd77-bcb7-4525-da9a-08d9a39133fe X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2021 14:57:08.8810 (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: MY5+fY2Yrmg/qjL979oibLExDFOA15u9LqrJXP7D/mWe4dtXKZA0bs3JRPLOhonHLF44JoFJ7/O6jUBVdVZOhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3389 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1636469850315100001 Content-Type: text/plain; charset="utf-8" With no upper bound (anymore) on the number of IOMMUs, a fixed-size 64-bit map may be insufficient (systems with 40 IOMMUs have already been observed). Fixes: 27713fa2aa21 ("VT-d: improve save/restore of registers across S3") Signed-off-by: Jan Beulich --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -54,7 +54,7 @@ bool __read_mostly iommu_qinval =3D true; bool __read_mostly iommu_snoop =3D true; #endif =20 -static unsigned int __initdata nr_iommus; +static unsigned int __read_mostly nr_iommus; =20 static struct iommu_ops vtd_ops; static struct tasklet vtd_fault_tasklet; @@ -645,7 +645,7 @@ static int __must_check iommu_flush_iotl =20 iommu =3D drhd->iommu; =20 - if ( !test_bit(iommu->index, &hd->arch.vtd.iommu_bitmap) ) + if ( !test_bit(iommu->index, hd->arch.vtd.iommu_bitmap) ) continue; =20 flush_dev_iotlb =3D !!find_ats_dev_drhd(iommu); @@ -1308,6 +1308,11 @@ static int intel_iommu_domain_init(struc { struct domain_iommu *hd =3D dom_iommu(d); =20 + hd->arch.vtd.iommu_bitmap =3D xzalloc_array(unsigned long, + BITS_TO_LONGS(nr_iommus)); + if ( !hd->arch.vtd.iommu_bitmap ) + return -ENOMEM; + hd->arch.vtd.agaw =3D width_to_agaw(DEFAULT_DOMAIN_ADDRESS_WIDTH); =20 return 0; @@ -1457,7 +1462,7 @@ int domain_context_mapping_one( if ( rc > 0 ) rc =3D 0; =20 - set_bit(iommu->index, &hd->arch.vtd.iommu_bitmap); + set_bit(iommu->index, hd->arch.vtd.iommu_bitmap); =20 unmap_vtd_domain_page(context_entries); =20 @@ -1789,7 +1794,7 @@ static int domain_context_unmap(struct d =20 if ( !found ) { - clear_bit(iommu->index, &dom_iommu(domain)->arch.vtd.iommu_bitmap); + clear_bit(iommu->index, dom_iommu(domain)->arch.vtd.iommu_bitmap); cleanup_domid_map(domain, iommu); } =20 @@ -1819,6 +1824,8 @@ static void iommu_domain_teardown(struct =20 for_each_drhd_unit ( drhd ) cleanup_domid_map(d, drhd->iommu); + + XFREE(hd->arch.vtd.iommu_bitmap); } =20 static int __must_check intel_iommu_map_page(struct domain *d, dfn_t dfn, --- a/xen/include/asm-x86/iommu.h +++ b/xen/include/asm-x86/iommu.h @@ -58,7 +58,7 @@ struct arch_iommu struct { uint64_t pgd_maddr; /* io page directory machine address */ unsigned int agaw; /* adjusted guest address width, 0 is level= 2 30-bit */ - uint64_t iommu_bitmap; /* bitmap of iommu(s) that the domain u= ses */ + unsigned long *iommu_bitmap; /* bitmap of iommu(s) that the do= main uses */ } vtd; /* AMD IOMMU */ struct { From nobody Mon May 6 21:02:47 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=1636469871; cv=pass; d=zohomail.com; s=zohoarc; b=f1E2f++V9s47jwGpHADWYFSa+Xdjb8v9eijqoJomFNb8OINqcDxf49rghsd1p/TNCde/IA6VOVTr/REjrkWpk0BbuEINq7hq0iPRjndqlAbuDp2JkAHhj/q8kF1ySlaKWZ1uQfyFBz5SptDN6dAeZC7xasGox0Cgp4jggvnLyZM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1636469871; 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=0XXmDRcbmhNSOz+3m8n+EWENufFamtBOLA4E8m778Yc=; b=HJWZPX4Dc+q4HqwTZSZqJBWdaPrS4XXpfU0OtK+GuXm9G82vgwzWsF7pfBGyhuSZ0pl0Ioct0to/BirUFiRGoZQLlzg2A3g0ACwuUyzKcmMQTwgATgHw5Ihbs6AJjdLl9PhLR7yyI63XeGFtBx15R4EMzsHBk6aP+xsfgrKPm7I= 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 1636469871663156.37294036031608; Tue, 9 Nov 2021 06:57:51 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.223997.387016 (Exim 4.92) (envelope-from ) id 1mkSZ7-0000ix-Nd; Tue, 09 Nov 2021 14:57:37 +0000 Received: by outflank-mailman (output) from mailman id 223997.387016; Tue, 09 Nov 2021 14:57:37 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mkSZ7-0000iq-Ja; Tue, 09 Nov 2021 14:57:37 +0000 Received: by outflank-mailman (input) for mailman id 223997; Tue, 09 Nov 2021 14:57:35 +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 1mkSZ5-0008Pr-Ov for xen-devel@lists.xenproject.org; Tue, 09 Nov 2021 14:57:35 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 5f584dec-416d-11ec-a9d2-d9f7a1cc8784; Tue, 09 Nov 2021 15:57:35 +0100 (CET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-12-Eb4ZvnVmOR2JU3hFSdSl2w-1; Tue, 09 Nov 2021 15:57:33 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB3389.eurprd04.prod.outlook.com (2603:10a6:803:b::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.15; Tue, 9 Nov 2021 14:57:32 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898%3]) with mapi id 15.20.4669.016; Tue, 9 Nov 2021 14:57:32 +0000 Received: from [10.156.60.236] (37.24.206.209) by AS9PR05CA0035.eurprd05.prod.outlook.com (2603:10a6:20b:489::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10 via Frontend Transport; Tue, 9 Nov 2021 14:57: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: 5f584dec-416d-11ec-a9d2-d9f7a1cc8784 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1636469854; 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=0XXmDRcbmhNSOz+3m8n+EWENufFamtBOLA4E8m778Yc=; b=G+Cb5t+/OUsXTut729WkPjpQhFcYEoCj/Aml7V7tSKoa7+PehAg0XqbMhyX+LokyGXjT6d hTvfi//NKKHq0Qr7KqYA0H2dhJb1/TTPESBpzFF/sfyGytwcdTXuDpgMCqoBce2sf4esZw I0/shVtXk1yHt8jDD1qysxpqZQS88Xs= X-MC-Unique: Eb4ZvnVmOR2JU3hFSdSl2w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MPcW05CP4itgA8lCOnYATYYmQ2E9r1OfUgBe+QJjv53E2mNxP3tQyHsJqpGPV183zh2GyJJABGDcw/CyrDqpPPZZhc9ThjlqKGE5Zs76JeoIx1WSMNw2Je6B/rwSiaHUKqEeMda0FEZJsGWkXHLD2N6I3FZCuYmzO6JW1P0EqOiMunspll2Jg85Oj3HnuzAc8C9wPUALg/tZM621Ln/QgMYwcAfr/+ORrmK3lUXYvjgkNKnOPGL5NQA1gp+WwZxjzDwD6TYJ9u/E6j1DAzDBm6R282jVDTQAUhf4ig5Htt4QveLJVjTUS9L7QmRZBoTrecZZzOL/sNQGdrQmeeu6JA== 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=0XXmDRcbmhNSOz+3m8n+EWENufFamtBOLA4E8m778Yc=; b=W/W8BrsZsaQyCVRRzqgxM97D47wWoOf7liHvAswQ11W4Ttt+ZkUj6yiOApS81VTtdfeLIsz5mcGHn0h6VgeDNda3eDdyzoLHYF+LVi76Yvt0RsBHSg/IlS2r5442Ns4NMoChjv0y9GcWzelZNAxdeIjGITzpxOmiIRQ0YqGfrXoDPoihq07Hzjm9LZNKPZN2Y9GJlj0/ZjcUhXItlmDGV24tibL9Hk8QeyBphnD8I+46aycVpOQzsxbOApNORfSfhV3nVnug4J8lBGLo1HFCSNujgI9OSSIH7IVAWWOa18zsirSBtKfiGvUoywLMXVG7hI7BiWyjYu5ZoprH27L4Bg== 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: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <35094014-1578-9db5-4635-c3ed45433a7b@suse.com> Date: Tue, 9 Nov 2021 15:57:30 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: [PATCH 2/3][4.16?] VT-d: fix reduced page table levels support when sharing tables Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Kevin Tian , Paul Durrant , Ian Jackson References: In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AS9PR05CA0035.eurprd05.prod.outlook.com (2603:10a6:20b:489::17) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3ad76bab-400d-45b4-83bd-08d9a39141ea X-MS-TrafficTypeDiagnostic: VI1PR0402MB3389: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xy100UhqOgxPHtdZ5yAB8eDzR1NFKVHa2jksCCrMNtc8W8T/06bAzt7RL4ZczR9MshcxCR9W+nYqlFklSsXxhDLLc3J2JbHsk0OLbkbBCsuGfn0oH5Q9Q/ROozstp7wwU5xTLPXEZ+c8GwQR9KNK/Ohi0f7n7E9ETF6sB89ZNGz0rR5Bbt2/kkykkoky2iNQHms5jEWYtprqIW4ghBZtJGKLE9FCr/BUgPt8iDwpVpBKbfeEfxKxUgMN+I3yF5TJwUdLSXypuyLISOrr0iO8kUAh2T5wCHD/ydUzigXxzZyJBDM8PxiwjNwVf/TKshEkDGzs9reic57Ou2rzz/NYE8oYpM6LBCenmfSfcZ4jvuidHn2/xGkGhH0+Gt/cgzfYLW1MNw3ntVD4XrPDw9gH83lVLXzMO5hAGQ4NDXTCg+kg/C08nUDtA1Kz126cp48JQKe8NzS0tnIQLu8AglPruJng/5Fl/rcIN9P0mQkX4UjNlrTSHoq20Prp7RmMLRpmydpR5ZjbfF9O3Gb5Zm/LilAHMdLT26vKhpG7qKLJtmDppu9T7gxeIfYNVj85inCsbsdyRp+8vB1SRr0paay8K19mRLo7JxkUnYDVNUn1N7EqfdqbDI6NmxlBMNG/7oC6xCCwxtlx4Yd+AX20yU9awHheixq16q+v8JIPvk3RmKPLrplxjaHRsk0jnkKd7zztiQQSejA76OjQ2JIKeWO9tXmbLp5Z5VGQ5SI1AzNivNQ= 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:(366004)(508600001)(8676002)(8936002)(16576012)(2616005)(6486002)(66476007)(66946007)(66556008)(31686004)(38100700002)(316002)(86362001)(2906002)(54906003)(5660300002)(186003)(6916009)(4326008)(31696002)(36756003)(26005)(956004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TFM1WmZma1JKWjhxdDJvWGoxanVZd3JxMGlra2IyWWowLzZVZWFjckdOei9B?= =?utf-8?B?N0FTQ0NSaUxVdE50MzI2WnJ3Yk51eFBSMmxSUm1EaEV0ZC9qR21HL0FFbnJH?= =?utf-8?B?NnNjZXJ6V1VwZTNUNHV4V0JaVTZjSk5XV0p0NlRGSUtqTUNMZ2xwKzlrNmlS?= =?utf-8?B?WWpuSmxnRzVsOVUrMGdWNVA2T1Vyd0czdlB3eDl1a1hjSFBuYk1kRndneEJm?= =?utf-8?B?U1g4KzFRM2RtWXlyT0kwb0ljK2pNZEJnd3pwVWxzeUlsSzA3SERSM0FoOGor?= =?utf-8?B?TTRUOUlRa0dOVmo4SUU5WHFVWWdwbTN2anJNaVo1QlB2R0JTNkZucm9yc3Ji?= =?utf-8?B?NUFCV2g3TWxEbm12elpqZllFeVd5Z2RVd0llamY2ZldIU2o2cnA3dVhtZE4r?= =?utf-8?B?ZytmN3MzRmFpREpDWW41NTQxenJjRTRGdlpGT2xYcmorL3hvbkM0c0J0ZzFl?= =?utf-8?B?QzdYMCsxK2tCVEpnSWRVeTNTRTJ6RVNGSVpuc1JaZlhGdUVtTFYxWUpQTmZ6?= =?utf-8?B?VkdxTzdncVhjR3lXWkRiNjRPSmtib1hWdDhmN3dwTzA4bDlWeE1idlZ3Z3Y3?= =?utf-8?B?TktPSVBrVk91eUk1RVdJZWw2c3F4eTlGWnlxL0Q0cDBPTi8rZmM4U2xQQWFi?= =?utf-8?B?WUM2TDN0cGtsK1pFQUU5dzJGdWtmYkJFTHdEeUpLVkF0T1JncDNRNDF3RWh4?= =?utf-8?B?L0VIVlptc3l6Zk5qU2FSSDUyRjJORGhGZVpHeXJQZFF4YStSdWZBdFIxVnZB?= =?utf-8?B?NHJwSzFrZW85MitsMmlOMUhyM2NZOG82OThZODNUMy95V2Y3NXZuYWd2MTNZ?= =?utf-8?B?SVMvUXhrL3FVNlBhUzhtaGIzNUYvUEQ3cWNtUWhkL1JVeUJaMnFBM3lsMVFM?= =?utf-8?B?ZmR2MFBCZWxVMHJPS2k2bU5mVWRXZEtQdFA0eDlMdWJ5c2drVUQzQUlDakpE?= =?utf-8?B?R2lUeUNWblprbFd4Q0VBOURlVGVSVzdVN0pkOE4wci9DQVJtTFdpODVSWkw0?= =?utf-8?B?WXJZWmVvUENxbVdwUytOQnFzZW1tT2xybFNLYU4vZnNsTXlwUGE2RUw1dVIw?= =?utf-8?B?S2ZXMjN5U1grVFNXdHFlSkRaS1dXMEVwcG1EVVViVWF6cjZQVlBGS3VlUmtk?= =?utf-8?B?SUN2KzBzdkZxd2tIb2lUQkxLWTM0Q0lCSzZpdHdzNTZ0YVZTVmYxMEhKRG5q?= =?utf-8?B?V1A1N0Z2RW9Sd1FvWEllMHM3SU1qNjVRdnJsenROQXhpdlhaOE1haHV6VW5M?= =?utf-8?B?YjZIZ09jU1hPMXYvOTJOZmlBdXE2ZXJpcldVUHZ5Ny8vNDN0VkVySFdBTFBV?= =?utf-8?B?R3NHQlFkVzk4TWZ3UmYxenB6V2xqeE5RZi9DaTVOb2tmQUdBd21SdTdJdHBz?= =?utf-8?B?Q2x4czFYekxycURJYTZMY0xsdm50Wk9EdnVMVEhwb2VjMnlQSzNTbFE5YXY2?= =?utf-8?B?VUhIS3lHdWZ3RUU2d3dnZ0Jrb0lrWGFROGtFb0J3TFNteE44QzM5c2doUzNv?= =?utf-8?B?ZXY5M0pTbTFJdVc3OGdETXllZWhHU3BINUdFUFFtd0lHaHVKNWtRRDVMYWJ3?= =?utf-8?B?bkhlZE9DanMyU2E4UVBMZ2JOK0tRTHhlWXFLTGdELzR2Z1hvNENUdFBGS3Bk?= =?utf-8?B?aUNUNzB2M2xPVFJTZXVWS1U4YzIxcFFvVHJXK1pkZ2dsRTlKcy9ybEhuQW8v?= =?utf-8?B?VDJJQVpPY0lHM1NyejJUNENSZERTZHFUR3BPZ3ZWTnF0RkFkT1pGcHowbld0?= =?utf-8?B?a0Fha2ZqTDdWMHhtZGJsdG1ZSUFjR3NkaDRTNGU0MTdIS3dhYUdYOGlVbGZ4?= =?utf-8?B?dHN6MVQ1LzIvY3dnd09MTGdsRXF4WUZpTElIMUppYTNjbVFUNWJibjNIelJB?= =?utf-8?B?cTJuRHZ0RytzdDFkbEZ5RHROY1lqTUJ0TnpyMDRWZlg1YWhFZmlKRnorY1l2?= =?utf-8?B?OUVWZ3BqSFZVcXc0L2VaVERzMUNlS1hiOXc3Ulo4b0pXc3FqUGhCVEgvU05t?= =?utf-8?B?YTFxUnFVSnNJak90ZTdpYXhHSkNjN2NMZXR3YWJWVWYybStQZXB0WHZnZlJ3?= =?utf-8?B?dUM0K28vNkJMMXdlVEtaaW42bzNFd2pLTXd2TURKV2V2QVdXV285WFROclU5?= =?utf-8?B?TXpLMG4yS2hNWWVhRjFpcnBWemp1dFJVT3RqMFFvT1p3cHBBN2lITjR0elRT?= =?utf-8?Q?ytCbpfEfE7xNA+hXB2JtH2M=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ad76bab-400d-45b4-83bd-08d9a39141ea X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2021 14:57:32.2328 (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: JjLSOVcUG0Ln13Ie4IL63Ld/D6eWnWw/HNwTJkLE9iYcVcNhcxhMoJfCTcBMttGsVUB04stoQDvXESi+JxEptQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3389 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1636469872276100001 Content-Type: text/plain; charset="utf-8" domain_pgd_maddr() contains logic to adjust the root address to be put in the context entry in case 4-level page tables aren't supported by an IOMMU. This logic may not be bypassed when sharing page tables. Fixes: 25ccd093425c ("iommu: remove the share_p2m operation") Signed-off-by: Jan Beulich --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -340,19 +340,21 @@ static uint64_t domain_pgd_maddr(struct { pagetable_t pgt =3D p2m_get_pagetable(p2m_get_hostp2m(d)); =20 - return pagetable_get_paddr(pgt); + pgd_maddr =3D pagetable_get_paddr(pgt); } - - if ( !hd->arch.vtd.pgd_maddr ) + else { - /* Ensure we have pagetables allocated down to leaf PTE. */ - addr_to_dma_page_maddr(d, 0, 1); - if ( !hd->arch.vtd.pgd_maddr ) - return 0; - } + { + /* Ensure we have pagetables allocated down to leaf PTE. */ + addr_to_dma_page_maddr(d, 0, 1); =20 - pgd_maddr =3D hd->arch.vtd.pgd_maddr; + if ( !hd->arch.vtd.pgd_maddr ) + return 0; + } + + pgd_maddr =3D hd->arch.vtd.pgd_maddr; + } =20 /* Skip top levels of page tables for 2- and 3-level DRHDs. */ for ( agaw =3D level_to_agaw(4); From nobody Mon May 6 21:02:47 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=1636469930; cv=pass; d=zohomail.com; s=zohoarc; b=iRv5EMG1OPjW0lY0JabgX6XJiZOzW38IF0R1l+/A23FVYsupsMARGwwTYCVz6DiFGvfCfOzRjRJvmGL2ZcWcH7B3u/BtZa/sJjyE50Ox8js3jEqiqTs6Db+4U2VvPQiP4fGG6JI95wI/Olp4HRPZamyoM6YlTBQBH7vVnsi735I= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1636469930; 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=pI2I0oSjXvpskejeIS7I4+Eo2D0UJGIdxq3pdjMmjqA=; b=Aueo5bF2tiBItK4/B+ehQX1SbP0orbt4ZeoOOWyHOeMDUDFjrwg5pNlpfkSQ/wm5izChYh1LmoefOdVL3euBQR3Jcqh6T+N334SlRq0Vh3wkSVYqg1TQdkUvs/WOl56IKBZdOwL8KVT0e6jX2MW9aO+NWYvrx0YgKaRXXIbdECY= 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 1636469930956367.5845466688595; Tue, 9 Nov 2021 06:58:50 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.224004.387027 (Exim 4.92) (envelope-from ) id 1mkSZs-0001MU-1Q; Tue, 09 Nov 2021 14:58:24 +0000 Received: by outflank-mailman (output) from mailman id 224004.387027; Tue, 09 Nov 2021 14:58:24 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mkSZr-0001MN-Tj; Tue, 09 Nov 2021 14:58:23 +0000 Received: by outflank-mailman (input) for mailman id 224004; Tue, 09 Nov 2021 14:58:22 +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 1mkSZq-0001M1-TJ for xen-devel@lists.xenproject.org; Tue, 09 Nov 2021 14:58:22 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 7b11219e-416d-11ec-a9d2-d9f7a1cc8784; Tue, 09 Nov 2021 15:58:21 +0100 (CET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-18-O32xj_7zOlKiRMqLa-UOfw-2; Tue, 09 Nov 2021 15:58:20 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB3389.eurprd04.prod.outlook.com (2603:10a6:803:b::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.15; Tue, 9 Nov 2021 14:58:19 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::8062:d7cb:ca45:1898%3]) with mapi id 15.20.4669.016; Tue, 9 Nov 2021 14:58:19 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM5PR04CA0010.eurprd04.prod.outlook.com (2603:10a6:206:1::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11 via Frontend Transport; Tue, 9 Nov 2021 14:58:18 +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: 7b11219e-416d-11ec-a9d2-d9f7a1cc8784 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1636469901; 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=pI2I0oSjXvpskejeIS7I4+Eo2D0UJGIdxq3pdjMmjqA=; b=kFKX1lSKZa0uPzwEpWPzUeR/Heqxnfg0J8vPA2aJiWu4om/bia6kw8XCHE85+WClxAoY29 Qxfj0i5l7MX0age+5uWKXcTPpecne3x+4CNjD8R1CLy2vfl7PS8QVJ+vYOvH4m6hLgbIz8 3Orc2ixklKX2HqlkKaTLTrrR7qYm0iI= X-MC-Unique: O32xj_7zOlKiRMqLa-UOfw-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ld9ccBFHjmzCx77rMxovZKtzR2YSMOV4DyDpimUnrTR4eY8M5slkCrM7CmaB0N2InWitY5FtOKgi51FcnnEYsnkzNQRFr273N6Hq2n0XpTJfYu4iVvO5E1wwTEXo6mwXMmJx/ht9Jr4ZMTcZUsF5FL9ryciIqyz/QcE4OxW8kFXrCLOWlfYHrnHKpC9Out09JDwDW6MlVypVBEyGIEfqH1GNIwfd0LjaUoTyTqJei56nxaR2JRjw101GJo8Z/jCrTO/qxusb6AeEQO+oML/R69iCvMffx+AfaUBbP0DXtKC0XHpvTch/NKx7M240hryXd9KUK2cqrGPhXx9xtM603g== 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=pI2I0oSjXvpskejeIS7I4+Eo2D0UJGIdxq3pdjMmjqA=; b=TLrn4DBjymBTTld1gTKKWVFLDQR+yuXmyZHToeUEIQBKNWFqFlVvKqyNOy+oMF7xJSiCwnzYV+Fi9nlCj92p73oOUyfnNQvVhNtPikacDRP0Dp8JmXyJ8L/BWjDAEz1M0l/aBA3VYPvlGmY1JJFo3ZiHg5lgQSfuH5X0K8edo/tI0xjAuE2zERiGRxuH1iSwrx5K4TElvRl4rsYnM6w1eM7xUn8r/YHnbVLbmf8PWNysLAXNDpva8cU5BWybg8tg7SRr5IZrptQp0IXS7Bh1DvCZmA7wi8q2XswRgZL9BErjMG/jFeUwsrx6+hoAZqyAGsA8IKOV0nrq7Lw0PhKvHQ== 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: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <466baa9f-38bc-99b8-6403-24e9384820b3@suse.com> Date: Tue, 9 Nov 2021 15:58:17 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: [PATCH 3/3][4.16?] VT-d: don't needlessly engage the untrusted-MSI workaround Content-Language: en-US From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Kevin Tian , Paul Durrant , Ian Jackson References: In-Reply-To: Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM5PR04CA0010.eurprd04.prod.outlook.com (2603:10a6:206:1::23) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 41849fab-2c3e-4f46-a5e5-08d9a3915dc5 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3389: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4303; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fNr7BIyjC4Uj5m+wZH2t3uTaAf+fffFqQ2+pbpRAmIkZvXhZgBM2fKedOeK5XvUEd/JYSjDrxwyXSAJAWu4Z78uGQVP7pJqTF41TRFaaGZQP2IlbhfdkgmDbmposWmK+o6oI9COTy3nw7CBWHTuSrZtWoG9210PwoaURPCGtb9EkPgG1PFQ9TbC69YenwF8/G8Yh3rrISEl/mwUmDvG3CKZWnB8MIwjqRyu6yg1kBAnL9hn6rcm7AGE6t8vrU+ShJ7qImCLz4MnqkwJTRVEjGKj08g2tmDfdqUQhbRc/4wpWjbsDWTaR5LdUwXOPvaVHP4jIHn517pj1JfPUAIHTEOe6hxHIxxiPjoda5cT/IPGNBqVxOAxAH7pz0sirt7NV0/OspjSrN7Js+CFMAx1LjNR13Qwixe58676oWjDdTI6FA4Ytydik7PmiYYIwRJYF2tnx6kONGpeeG+VAtKUjpSi8Q0hfw93Fe2/McBaOasYccv8dznR332NoDNeLwKy/soN77UTHDAMPvE26099VBIEYm+VT9NPJnyc/M2ZVW+m9L77raLkg/Fz4JHXoTTviUYK8JOupLGONZ7gZH2j0+uYcyLJc8fEmTamf+nKEh2zEdxJCyAxM/Vz4tZCIKlZrrj5YJFQuTtYBnxBqEKxN7T1C5skS9VLQJosiULZwlQDZ5PdWwC8VzDxEOEW2So4V+0aas4OMXs8AbG+QhDciGKrZaXT9k/LSPSncbea8+XQa3xXz45rSTmunDvu4f9xE 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:(366004)(508600001)(8676002)(8936002)(16576012)(2616005)(83380400001)(6486002)(66476007)(66946007)(66556008)(31686004)(38100700002)(316002)(86362001)(2906002)(54906003)(5660300002)(186003)(6916009)(4326008)(31696002)(36756003)(26005)(956004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RFVKV25sTGlraC9rVUlaTkV0UC9yYkdyM1FlWXpaYlNRaHYvTWw0dmlBbnZu?= =?utf-8?B?UGM3cGlUeDFjUm0weGJObElnbXBzUWxqNm93a0lUaVUrTERma0pYYzRKM2JU?= =?utf-8?B?bTFkblNVVlM5TEZwSldwUDNRZFVHSWM0eHUzZXNxdCtIZy9qQkE4Yk9Fc242?= =?utf-8?B?NU84eFU5VE5WcjNucEtOc25YOExWb2MrbmVFWUx4c3JyN1ArYUp5RVJtL3di?= =?utf-8?B?dmtpWFRmV1pLdklPVFpFZndMZU4vUkUvZWN3OTUwTDVxZHpRcUJSTWxYTk5P?= =?utf-8?B?YkpMS0pZVnpZSjhJL21SeDNXV2NQd0Q2cSszNFB6c0ZyOEpjZHZvZStVRlM0?= =?utf-8?B?NVNoaHJyWXhqdFhob3h3ZWFNc2dnaGVLc0ptSHRIMjNPY3dWakdKQUtPNnNE?= =?utf-8?B?aTJYS1B0cUcvVXY4bVhBdDJDb3BZc3hRU3hzbG9xY2VSK1FFNTZPVFVZSWpw?= =?utf-8?B?S1BYQktCeGJaOWlJaU96YVVLMzdkY1pWb05qNmtyeXRMOXRCVUx2NEw3QXY3?= =?utf-8?B?NFVZUitnbERraDRJQ1c4STR2VU14WHQ3SS92bFFnTndEWHAxSnc3Tk1mdEJo?= =?utf-8?B?ZmV0K3J5WTNZeFJTQkdLTGZwVUlla1Z3WHVwY05zNS9WOHRpTmtUOTBjcGNk?= =?utf-8?B?SC84M0xCTHRTOUVCTU5ocG9xWFIyS2VIbW43WHFwUEduUU9sczdBVmtUWll2?= =?utf-8?B?N0JVaFFCYkp3YkRGUFlBOHpuSnpleFN2cTN6UlRKd3JYQ3l6UmxhS05uMFMx?= =?utf-8?B?Zmo5T0s5dHpzaUZBNjdBY3pRMm9sNHJwamRiaVkxT3AzSWtRa2Qrc3RCRWRF?= =?utf-8?B?LzVxQTlBQlpvNkE5aXBVRzNWbFJjOUJQbU8vcTRJSGMrUThuY3BXbTFWTllD?= =?utf-8?B?cVl2c2JkcnAvcy9BWDg2VzhZQW5VNWZVRTdzL0lMemF5WDYwWEVQSEc5TEZW?= =?utf-8?B?UUExMmJ0bnJYRi9ZbjhIL1lXNzd2ZG9hSnE0Ri96MDVIN0Z2eWNiWUJ3R3Yv?= =?utf-8?B?REd5SnNkSnRxYmpCN0ViRUpjOUVIN2VqV0I1WnpLa0FMUUpDQlNBRjIzVGdr?= =?utf-8?B?czc0THE4c2Q0Z2hsN2tHMWRsQ0FCUXNEUHZCQThzcEpFa2NYdDg5Y1dWWXl0?= =?utf-8?B?NmpjYzllbFFDWElRazYrWUpjQ1ptUlJaanNoaUdUZXVuWVZNakU3S3pUenFX?= =?utf-8?B?TnBoaFVKcUFkWXhmUmU2NnVpQzhwSXdBS2VickFGWTFmS2Jvd2ltM2hHYzZl?= =?utf-8?B?N1VKRWZNdnBjTmRzaWNIT1I0UGFrdjgxdUFJMWwrZnlYdDAvc09CRXZFVS9k?= =?utf-8?B?ME5hVHVOV2FUY0hTVVY3c2ZkWUFRTUpUNTNFbjVkcndId0MrZ2lPSU44eEN1?= =?utf-8?B?U29KZTI3LzlOdThLeDVNYmRuRVZodXRFNWpmckRTaXE4d3k1dG9qV1huYXZr?= =?utf-8?B?ZFBFNXR2LzF0bDFUSU93WEtBMVUvYkFYNjZQV00vN0ZReXI3QTJOT094R00x?= =?utf-8?B?ZmtRRytLYll5Nk40SUhHZ1M5ZHp4ZTJ2UkE1S3YzS3ZJZGVUZ3FyeEZ4NUR4?= =?utf-8?B?alp1OTk4OW9ueG9zYlZBR25SM0ZkN00rb2Yzb3VGaEJHUmhSMlAvM2xuV0kz?= =?utf-8?B?eVRTcVhqMjAvcy9wTlptQWI5WUZMSXFOdmRIaWlINjRlclBVTWVsVDJxZGl5?= =?utf-8?B?UGx5YytwbSt1VnFsUERuK2I1ZXUyMHQ0N0RQOWNzbmhKN0g3aG41ZXVCa29G?= =?utf-8?B?N1Mzb01FV3djaGg4Sy81MGt4a0JYcFVKOW9lZm15aFp6WXEyVEZZSnRLZjhw?= =?utf-8?B?YklyalV1Y3lXbU1XRkJ0UE1Uczg0NFVNUFZsUjdJSVBhblJ4N3BvRHNBZFJl?= =?utf-8?B?SlFjZVR4ck4rdlVwMGF4YU9VUjdwR3Z6b3QwdW9kcHRCMjVCL3Jla084b0hO?= =?utf-8?B?aUYxM2lqTUJXSkxxU2NpWFVjd1JYQWFBalNNbXlhRkR6bGM3cEtpUjJQMjhE?= =?utf-8?B?c3BSc1M0Q2tHNGJGTmNQRUlaRzJoZ3R6V3VTTHhqR0dHOTFQK1Uwem9CekhI?= =?utf-8?B?bWl2NGN2SjByTmVwSTBPTHZ0Um1jQmJVV01lb0U3RG54M2dQNjNsTUp0cmg5?= =?utf-8?B?ZDZpSEZoSkVlNXcvd3JZbWhyN0pFd1dkNnRZOVRBblUvWHVWbTR5M1FubmNr?= =?utf-8?Q?AHzR+JaTiwDmu4eclkYiypI=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41849fab-2c3e-4f46-a5e5-08d9a3915dc5 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2021 14:58:18.9684 (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: uizStdT/mh3ugemvhO+a1TWJ34x0tm95ZOIVrWW0a0wycBjoGo4HNW0uvoxTAP45P8aNNB8jCTw7AYTZGQRkZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3389 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1636469932619100001 Content-Type: text/plain; charset="utf-8" The quarantine domain doesn't count as a DomU, as it won't itself trigger any bad behavior. The workaround only needs enabling when an actual DomU is about to gain control of a device. This then also means enabling of the workaround can be deferred until immediately ahead of the call to domain_context_mapping(). While there also stop open-coding is_hardware_domain(). Fixes: 319f9a0ba94c ("passthrough: quarantine PCI devices") Signed-off-by: Jan Beulich --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -2404,14 +2404,6 @@ static int reassign_device_ownership( int ret; =20 /* - * Devices assigned to untrusted domains (here assumed to be any domU) - * can attempt to send arbitrary LAPIC/MSI messages. We are unprotected - * by the root complex unless interrupt remapping is enabled. - */ - if ( (target !=3D hardware_domain) && !iommu_intremap ) - untrusted_msi =3D true; - - /* * If the device belongs to the hardware domain, and it has RMRR, don't * remove it from the hardware domain, because BIOS may use RMRR at * booting time. @@ -2455,6 +2447,15 @@ static int reassign_device_ownership( if ( !has_arch_pdevs(target) ) vmx_pi_hooks_assign(target); =20 + /* + * Devices assigned to untrusted domains (here assumed to be any domU) + * can attempt to send arbitrary LAPIC/MSI messages. We are unprotected + * by the root complex unless interrupt remapping is enabled. + */ + if ( !iommu_intremap && !is_hardware_domain(target) && + !is_system_domain(target) ) + untrusted_msi =3D true; + ret =3D domain_context_mapping(target, devfn, pdev); if ( ret ) {