From nobody Mon Apr 29 11:55:12 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=1636713187; cv=pass; d=zohomail.com; s=zohoarc; b=Nlu3H5fsRVuovOqjqQCPjd2TkO18HOuk9dgYiWz6Mkf08qPp5BBmWjaS/qkhtGKRpmET3AeHO51nB2k75ATXDhhPYmIuMeO6En1vcZPqEd5vkIRjPpZSZGl9REozFncOiWgD6cqRkIvtM7EMu1MKMHvq5i3VQ54RxZMsOW0jT3k= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1636713187; 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=uXPdj6utTVZJv737OWw1P/pyaL30rwsVcA5yvBiI65o=; b=lJbUVLKqHnoZoB7W7/QUw1pS14kkkKLUqA/3JmwLrzOZVTrmHf7Cq+nHHnw8bHB4aVQjkVlybVmuJ/CQEM6VDg6cqDsx3I+XLoCaw+THoda1KY+7yXsZGfhr+5tAnRE5XKGXXqFGCz95TpasTsbNWc+riphIpAIPt+ckUEQpQbQ= 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 1636713187214681.3660336101505; Fri, 12 Nov 2021 02:33:07 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.225114.388786 (Exim 4.92) (envelope-from ) id 1mlTrO-0007ni-Ep; Fri, 12 Nov 2021 10:32:42 +0000 Received: by outflank-mailman (output) from mailman id 225114.388786; Fri, 12 Nov 2021 10:32:42 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mlTrO-0007nb-BJ; Fri, 12 Nov 2021 10:32:42 +0000 Received: by outflank-mailman (input) for mailman id 225114; Fri, 12 Nov 2021 10:32:41 +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 1mlTrN-0007nO-Kr for xen-devel@lists.xenproject.org; Fri, 12 Nov 2021 10:32:41 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id dcbb69e2-43a3-11ec-9787-a32c541c8605; Fri, 12 Nov 2021 11:32:40 +0100 (CET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-39-uwqBQAlXMRyRZCQakoyZYg-1; Fri, 12 Nov 2021 11:32:39 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB3933.eurprd04.prod.outlook.com (2603:10a6:803:24::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16; Fri, 12 Nov 2021 10:32:38 +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; Fri, 12 Nov 2021 10:32:38 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM6P195CA0102.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15 via Frontend Transport; Fri, 12 Nov 2021 10:32:38 +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: dcbb69e2-43a3-11ec-9787-a32c541c8605 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1636713160; 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=uXPdj6utTVZJv737OWw1P/pyaL30rwsVcA5yvBiI65o=; b=L0o6gJPzNyOuigKs0/IIbw9EMC/A4rgheDre1TVWi5FSy9F++rHaeivepPRTJFerXlULhI p5snUNAeHpGywSpEmCYYtqM3LIHVo3qMdzxNlNt+wljKLjTm7Wm/VU4sfel82L7rztxWlG T/5cv0PMDEKowydH3jStSUea2FTZZo0= X-MC-Unique: uwqBQAlXMRyRZCQakoyZYg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=loU1Qp6c1twDLTaVW3N9qMWT0zeS9vN25LOllNj2eSicQtMV3/aqFyhz1yshpTsKabDEhjT9K2sUaKsYUxTgaC/zBx5XbieV2z27oNLzddw/0ZC8L6K9103tlMDwr+U1G2ALXVyJY4nttZap7z7y2viUxIQWb3HLA4DivIyk8AWB7X5NBS4GwCCmqA7/RWwdWrugsILrWrtUFkSAq3MEP7xtcmG+pNRsVDNdwMM7wF+zm7coE/LWMYhy1thTvewmnwvlNt9CunnyXYAxGqatq/KvOvW6HLLq9hEuFqKt+Tl7SrBLiF2jHE7EkQjBbK+1MU/XPFpqW6/iwG8AjkzKeA== 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=uXPdj6utTVZJv737OWw1P/pyaL30rwsVcA5yvBiI65o=; b=ERJSzh9AFGMOtFaw3RUndM90TbWG6fxyN8DmV3NS3iaMUjvYsWUmQy5nBQPGB6CnEVZJI1TmcfQafsMgeyBOO5pblIlq5U4YGNbeSP0Q/32m3fshl7kL9ctubguSSICyd3xrtaXbkU42m3YUzU0DxDuxiGfGb5oAYixq2ZEIFUvWpq44+au9h+XHWuwe18tTmRYuHDsMJHimImM2dAId1exHGE2MZZUhSDraP7TOIv3Lzt4i5byCvYWHQ5p+YqH/5Mqv9CuVczBvjIlM8gIWCB7A6crPX1M7Hjp/er+nKBRio7lo+OcXHWwHLgHPBto0xJ5avlKaoUTDGnwcTpJ4OA== 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: <684f2650-7230-debf-1de6-21745c8efa9b@suse.com> Date: Fri, 12 Nov 2021 11:32:36 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: [PATCH RESEND 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: AM6P195CA0102.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::43) 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: eea8e971-4d42-4292-9a67-08d9a5c7bfd4 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3933: 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: 4OnRFJLDBNaS3rhCGVtTvnThTkNzBwGS/y8xUZ1o25EsfbSoiM/LMcseZ9xMou/3iW8Nt+aTKLMRbmTkBiVZA7HI0bdITsjXEZx3ODjijlU+PBcCJI+xx3LVa9Xy/w4W04A9FxkujxcLwNE6UeNd2rN2K6RwIty44dGEvDaXAK9kHMIvCOlHNokObR5ONfsaYw70e3hksve63HHPCRSwzySTCW0bNML00i2iWEUKi0Ubzw0D9ebliirkIAxlmkk2R6FRmmt94itWcW+eXsaTHvRomhKjp12ahRpX6ZaIGs2GGzbrnqNDRyvEQq9EuT/7DdNz2Iqk7Bt8vS4A1AOyS7hux4DUoSmsgEa+LmgKDhjABqCNbq58hXqNruancG+pBHIaghSQVictE1hFaVbfzpPUlHkm5Vu0Q1nLwdMzBeND951tBu5mbMIitaczExWKcXA0yjRB277ngAJvPs+A0G83hJVk0r8p/vgbYinxudEoGj9kw0ynGNdntNc4Ll94dRDEwAj9h6k09T4NAZjLOSyH0cFO16uHAPaLAzulXuDwIbHZgPqmflvwS5hwHw5G8wJcgn1baHplDkkyZS2N84XfBqOKWj8JI2G56KHbGrNC6Uy6mypOh1p0gtEpmCS7y45lq7jSpdaGIX0FXTMpbhK5p1A9S6kKzhlWkzdf2gjOpxwI+/AuiisKuhQVyK6nCWBUXa0WFswIJQw0zUg9qzCY3QSUPIswDj1aKrzIaKbyynPXKtM7363FPe740o/Ri3aoEzudD099VhyQzQNAlQ== 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)(31686004)(8676002)(186003)(66476007)(26005)(6486002)(4326008)(83380400001)(8936002)(508600001)(5660300002)(956004)(2616005)(66556008)(66946007)(2906002)(86362001)(6916009)(16576012)(316002)(31696002)(36756003)(54906003)(38100700002)(45980500001)(43740500002)(309714004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q1c5N3FqNksxcHZqaXFnQkVVZGZsWkNIR04zUDFRbUVXUlRSQTdjQWxPUEtN?= =?utf-8?B?M3VvaGU3Q0pMYWJZZGlSWk1EMHBsUHB1ZFgrS1BGam9uVndLK0g5T0gwQTEr?= =?utf-8?B?TFc5TEJoWm16cmVCUWE3cmtjaDQwSjNzdUE3SFJOSXl0STJWYUVRYWgwa1Bt?= =?utf-8?B?bUxCbkthZS9LUjlYTmlueU5BTmYrVlFxMzBVSW0wZHVVNThHcUpqbEh5TzYw?= =?utf-8?B?VVVORzc5TnJyWlNVNWtuY001NG0yaktzNks3dEU2Uk1ubERtZ05ZYkZIc2ZS?= =?utf-8?B?YUJQbUg1b1BHcWhsUE4xOHg4aFl6dVBlSkN0MHZFVUlGRjI0Nk55cTltcjc2?= =?utf-8?B?dWtoYnk2ei9VaEx6c0E0UVR2aG91bVJ2WkVWWnUzRHNVMU13NnRodWpIclpk?= =?utf-8?B?amljZzVzT3VIbWlOTVFNN3ptU3o3ODR6dFhGcExjMDlWUVAwcUtyMlZYRVJP?= =?utf-8?B?d2hobi94ZWRFQTJjZUt5TW9YdHdFWDJyTGtlaitNOUNReFU3a2E0S05GSS9J?= =?utf-8?B?WEJkMGtHVXJCUmR3ZjYzZWxQSEVjTG96ZGxOa2FBc1doTkxLUkI0MnpzUlg0?= =?utf-8?B?MlY3Z040WndZY3NsaU13Mk1QdzBzbE8rQWxLZXZrcTRSNW1ERFY5Vi9FUHZI?= =?utf-8?B?cytwZEJETzJFSnRqalZub1NKaEtPc09QTmM1UnpiUVEreU5ZUHRmWlYzeU44?= =?utf-8?B?Q1pQQlQ4c09tUmtOc3IwcVNPbCtXSjdlMktDRHJnWkk5WkR5SzZpM3JmS0lm?= =?utf-8?B?VzJDS2F0bTVHb3hDSlRTR2U4eGpyelRTaDUxWEFoVnAxZnV6UDQwVDlZdGZI?= =?utf-8?B?Kzd6SnNEeVVzVGEwUHVqZ3RPNkhldm1hWjl3L05hUXhzL3RSZko3Uzh2cDJp?= =?utf-8?B?NG90Y01hdVAzZjNHdDJsb0dvc09IcWd4enViUzBrTUxrWjR0RnJpS0tmZnNR?= =?utf-8?B?M0JLdG41VEM3TEFHaXo4eW1VUTdFVlljR3ZHdGFIM0xuRW1xS3JaN00vVmdF?= =?utf-8?B?R1ZjZ2FudVVhYytIUkVCL25sVmJCREQ2SlROaHp0azlaU0RYSTA0OHp6S2Rk?= =?utf-8?B?bmxrQkY2NkJFdlN0SytqTUtJS05ONG9UZnFJeU1LaGxpNTlsVmZMQ1MvaG1G?= =?utf-8?B?MGpZZ2xhWVlBWjFkV0crUUJrK0krVjlQTHZOU1QwUCtBMXdibGF5L1J4cWc5?= =?utf-8?B?RTJBOS84Zmtqc3Fic29aZ0ZSYmx2aGlQa0ZYd2xrWkNsN0dLcG1OYlNxUzl5?= =?utf-8?B?WkZKMk9Pd0EwV0pNNjRwNTZYbGt4RVB0YW5zd2pRRDJMZlJRMnBxaXQ4ZC9X?= =?utf-8?B?VldxdDYvNm13R213aWRqczI1UkluSlloTm5GRGRZRzBuT09ZQ2tNRXNwb2VF?= =?utf-8?B?ZXBTeW5OdG1iWHIzOVdqeE9kbXNuOW80VG9Zb013UmJweUZHK3hXUFA3aHBM?= =?utf-8?B?NXdUcXRxcENndjN0M2k4eGlZWksyaGZUWlF2S20xNzhjc3gxRitjcUJhZ0VW?= =?utf-8?B?cUNJZTZEL21QUUJoNVBxd282TzhxQjNXTTFVMS9yRkIzOS9aWHpucXVaMHRR?= =?utf-8?B?ZXVHMXNhZzNzTytoUW9lNmNvN3lSL3Q0ODNIeHVuZXh3WXdyRzNVaVYxU09G?= =?utf-8?B?bThKeVZNR0ZCVWF4VTh1SFJFbEEwbUhQbnloL1lGay9UcFZQR1hHc005TFI3?= =?utf-8?B?dk16c2RIZ0xWcXp3WnMvdk8xK29EeG0zRlRqazNDSURacUZCYkJvd2Q1Q3lM?= =?utf-8?B?cFRYMXdoWDFqcEhuQXk1MkNBb2ZRUVBtR3lUV1RBYTNWa1RxNFRtU2I4Sytl?= =?utf-8?B?dXNURGtlZm1raTZpOVdTbkpzeUZFNFFaVi9tUWM1Nmtid0loY2xEdnUreGxL?= =?utf-8?B?VmVVWEhHRXpIZnIwNFM1RDNheUR2OE4vYmlJMEtIRS84OTZMaHhjbmxhQjUr?= =?utf-8?B?eEhCSHdVcTRPb0VsTkNMRlN1eWtTNGRNWmRodTM2dlAxK3ZXZE9XMFhabEJK?= =?utf-8?B?M0xXY1JBU0hSbWx5amRYOFhVeHRJT0x6alpJMUlGV3A5bnFqb3lyMi9pYkZL?= =?utf-8?B?bXlZRnJDSWpRKzFwMkxJeXVveW1wOVdOSklFQzRMbEUxcHhYQ2xFbm1JWjFF?= =?utf-8?B?WnlDZXc4ZVh6QXFVMll6c054dFRNMXY4a3E4RUJUUDVSenNUM2N4aDZTZ1VS?= =?utf-8?Q?m5yaNWzmSL7ryJKJHlFy6z8=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: eea8e971-4d42-4292-9a67-08d9a5c7bfd4 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2021 10:32:38.6261 (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: m1Lpv2poG0wMxRqc3x8lX7JL+4XN/6GVi9tONirQgEwQDNI395ql6lGFilz8WP8wljAdGr/BAdzR77cLCkKmBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3933 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1636713188653100001 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 Reviewed-by: Kevin Tian --- 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 Apr 29 11:55:12 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=1636713208; cv=pass; d=zohomail.com; s=zohoarc; b=Gf3UQ/ewTeuuRpqg/FMskL3lZfurROwxpXtcljPBLaVzf3Acu4fJU5RAUb64rg5Kf5yIpiMl2qD6gtnGCIT0+2Puw8DvgPD8BA1OWvbnlL0jVyeNVfHHG7/5lXVBS5/wQ/abO9CQhfdQXATAJ7Vmt38U9rfwpjhw9+rj/m4O03I= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1636713208; 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=2mVtm/325NPUuJOVXLoRutJprxAS49bRE2xj1DfbF2s=; b=kcmexf8BonzViHHQSpyTIfR9mabLzzGYTQh+N7WXEV2vE0focW8IeUfu1MWUzqOwjI7hWAn7NrL/MPlFzyCuBEOUZMiZy7VXFxq1IQ27d2cVQ/27aeG1oisMsGeFa+Evl5kHDdQZqe79kygTMMwuk9og/eZIuei5xNiupXLIVrU= 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 1636713208959219.57739111028832; Fri, 12 Nov 2021 02:33:28 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.225119.388797 (Exim 4.92) (envelope-from ) id 1mlTrm-0008OH-SZ; Fri, 12 Nov 2021 10:33:06 +0000 Received: by outflank-mailman (output) from mailman id 225119.388797; Fri, 12 Nov 2021 10:33:06 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mlTrm-0008NR-PZ; Fri, 12 Nov 2021 10:33:06 +0000 Received: by outflank-mailman (input) for mailman id 225119; Fri, 12 Nov 2021 10:33:06 +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 1mlTrl-0008JA-RS for xen-devel@lists.xenproject.org; Fri, 12 Nov 2021 10:33:05 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id eb6e7c94-43a3-11ec-a9d2-d9f7a1cc8784; Fri, 12 Nov 2021 11:33:05 +0100 (CET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2176.outbound.protection.outlook.com [104.47.17.176]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-9-GT19KI7dOUSj_AjC5QacYQ-1; Fri, 12 Nov 2021 11:33:04 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB3933.eurprd04.prod.outlook.com (2603:10a6:803:24::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.16; Fri, 12 Nov 2021 10:33:03 +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; Fri, 12 Nov 2021 10:33:03 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM6P195CA0098.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15 via Frontend Transport; Fri, 12 Nov 2021 10:33:02 +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: eb6e7c94-43a3-11ec-a9d2-d9f7a1cc8784 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1636713184; 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=2mVtm/325NPUuJOVXLoRutJprxAS49bRE2xj1DfbF2s=; b=G2fz/tcn1KrqfoHmWZGvpZAfWRsll1/frNWORsbhOwhsfxEu7T0LhO+3gkVUrrDyev/BsL DlTuWMMoi8Si9t7whhlAkYUMSvdQ0dO/hZRl1c0vLo6rp9Eax8aU6fz2Jfhpe/RclSXjTh 6AqsVOHDvs5cC4IONm3OwoOyK4aPG2c= X-MC-Unique: GT19KI7dOUSj_AjC5QacYQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GXI0I8M7ngmll7AS23W4oITOUUaGeJc7u8KuVJ9ku/7VN6+VrL4zKz+FzOf3UCswmZgyHQQhQKSPzW6zFo3ljFeBv9ttI5NLwgyS3FXAiu4ZNaAS45BGH6Md18mtSB9w4nnYay9ZjmMpsjAnUphtgC07u00Y1MABkhKvLdYDjKarhYvBgcu1myLXrYt7gL1N0VsG809OlY5QRUt/X8QmgyNcB5FFZ4ITB2xz5f3IAhj477H1M1KMS/+UGp+uBHqzrjF68S64fmVsGODG2mMYdo+JPjCGLO4asckbUW+hnKA1fKyJoGo+W5udBVcVvwbx6weGaPC4V4UqANXJ+DhCSw== 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=2mVtm/325NPUuJOVXLoRutJprxAS49bRE2xj1DfbF2s=; b=hMr8PRMmJQsTpVdSRHW3oft5qexEVAMZ0uAceIYhobFKl4HSLiVg76NyksEgQHaLSLQHp+9Mdb8GLuZNfU4Z/ThPh9wardpT9uiyqS0DWyWBQDE2LsrddOa86BRn8qw8W/n/bxlCsjkl6ji0BbI+VFIqkw/YYy6/C/VHRirXdBJrvU/VN8uRS90Urov4mSSxzF9Y6s/Jriys7wzD33uInyn2vR9WWhDn0sg1ua07RQ5KDyOXmll4lfgdccxOi7Ep28ZYMOlCPacJwDojxKDl09zdtXphkYmWNnfWZGSNOqjSOcZIqAL/R2opfniC0ml0o62TpWvzf298Ai3ns5+GoA== 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: Fri, 12 Nov 2021 11:33:00 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: [PATCH RESEND 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: AM6P195CA0098.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::39) 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: 519b8e1b-0e5c-42f1-7bf5-08d9a5c7ce78 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3933: 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: /4VlyheJp0LplfW510x3bb7yjOMXtpvhS4J7zmlry8xCOxMaUHq777STM9y7FoEoQIbnClxojN2mg8nJ6f+/MD9eQoWJulkkR+f7RJJsrTVQVIlUJQvH5wEAhij6XguUWjBRFCJzIsT9Ig9B/nu9TSfpzi5kuC9ZldcWbX1oY4xhBw5v+bhZvdt1j3T5noITGSVkfl2Qt1soONd/UAlAmUIJpSRtJFlyC2jCIC8zu4bcIknFEHS47qSeusZCONaXC7X/BXSoM7SPOAlgTn+bWqUsL/chfkFYyWNcSrU2GvvBbS+EfqR7lVN5aQ8N/1MS9J2YyBdZsR9jWxFYJymECiFs5J6CSIee+EOwNpjUVtChBkfww2lK3Cy/GKlP6Ms74lJSHRkWOODCHxEARdkcMNbG+RjoZY2TKpeOxauUMWU/tXSI3osu/kWaV0swRFKqysmBXy6AkHiLElqgjk3IxX6TuICOxbOGFRUZ6/K+Qz/RlaF7eocOUSFJEkd0W0NZV+1wq3EkFV7x3onWedtPfIvngtymUwFi389XdgI0k/lRhKdBMQ3Wni5yh/L1+FMIIzVWfbTQs6CNw4Q9btCbHHLezLo3CuiYrF0Aik+RC0QCqXas8kEzD6X4ysTGBXZx4Dg7uey6gLKnckS65KyUJeZnMTgHaJNqN8rBMCbKVIRRjCz0XWd+eJT/WIkS0ttHTIMpmYNvCroKih+rCn4d5XaT/UtXS8keXEair3er7/M= 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)(31686004)(8676002)(186003)(66476007)(26005)(6486002)(4326008)(8936002)(508600001)(5660300002)(956004)(2616005)(66556008)(66946007)(2906002)(86362001)(6916009)(16576012)(316002)(31696002)(36756003)(54906003)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cit0Q1dSWDFYQmJEL1JGa3VRcGMxclVtZG8vZXBGV0RDU0kvSjdOZG15WEI2?= =?utf-8?B?MUhmc2xrcFdiNU5nc2dubWxqNFp2NWozeXJhZGVuZSt0clZZdGZsV3crb2li?= =?utf-8?B?emdRRldQemw2dDI0VFR1dDVEZHNUd2p2UHY5enpjQlNsQ0M0T0tlRTVHN1hD?= =?utf-8?B?T2REaFM4ZzB4cjlLRDBKWGNyajY1LzJzS01xWStodC9mNk5kZjdlRFUvMUZG?= =?utf-8?B?OVRyaCtITDhZdkJHUk9Ua1dXNFNWQ1FoWERiY0xGZElTQlI5NnFMT3ZoSXJS?= =?utf-8?B?OFBXNVdoQ3Q0MzNPNWxhOThTUUhjUVVMZzRDVzMwMkplNHB3VG9ZTGdSdk9y?= =?utf-8?B?dVh6Mk1JdnBPbzdJMmtqRElaRXF5ekVHOU9vV29VTTAxOFUraXZ3L1Q0bmlG?= =?utf-8?B?Y0FTejFYaVd3NXFHSlNhMFp0dWs3clU4MEhzWGRGdHQxcEZBTmQxZzVGVXgr?= =?utf-8?B?ZHVnR0svQjl3bG9jMU9aNGtLREFYUTZSRjFvNlNTc0syNjdic3NpOERrcHl2?= =?utf-8?B?L2ZtV0Fhb044QU1iaWJ6VWZiT2puODZ0RzVuZGxhZ2IvRU1CdGo3ZGppci9r?= =?utf-8?B?NE5ZZjhlWWMxMDFIOEVqWW82VGVFTTUwNVF6NTdXZ2Vlc1F2S2ljVnRCYjlB?= =?utf-8?B?R1ExNXBoVmlSTmphTnM2M1N3WEs4S0RtZDd0VkdaUXhZNU1XSWlvd3piN29Q?= =?utf-8?B?alVYRm9DaVAyNHd4S3YyaERFZ1QyN3BhcTVVR2RUbVpOdTVINDZxVTE4eTk3?= =?utf-8?B?YjlQUVlpSXkzVmxDdkVTajk5S20weWRqRTBrdWJwT3JBT0tDVk43czN0R1ZZ?= =?utf-8?B?ZnRPQUNyY0R3dnpFZURZT0Evem1OZmtvTWtEcjBwUHFUWTdGSmFxNDQyb3hI?= =?utf-8?B?d1ZWejlUbkhUZldlajVUcldsMFZWUE5ESDFWbUNrT1g5eFBlZUNva2VhdjUw?= =?utf-8?B?ZnIyOHFLdFhJZlV3L3FxSmIzYjBtNnlmaXRWa1grd3I4VUZBME5yN1dmK0hp?= =?utf-8?B?S3I3a3FZeERHWXMzVjIvOWRmdjRzeDh5WGIxLzYycGVFWmJjODEzS29LREFU?= =?utf-8?B?ZGNlanRpcHdMdjVVckxFZlRtZmxERzhYeElOQkFUV3FHcE5JYTV5SEVJSlFV?= =?utf-8?B?dytETEJhR2JNZWFoYWlib0p3Ri9wU2ROcUx2U2hWWWNxZG9yT1VKVGhjb1ND?= =?utf-8?B?VElwQXhLbk4xMUhFcWh3VzJwU0FUaHZ1SERRZTBKZU8raDhBQ0s1MkF5N3gw?= =?utf-8?B?Q1RwQzlDeis5QjBSUm1QTHBaTVh0bG4yNkNTMTE5VzhESU9BUnQ2alRQRlNs?= =?utf-8?B?SXRUK3B4Wml0RFJwWFlSYzFwMmVvY01CMVk4cEliMXhnN2xmdkxobVpHa1Zt?= =?utf-8?B?VjFKeGdySlpxWDFtMGhWWXFMMExhNm9MNXhzWXp2ajc4a1VpenZyeE5uTmkr?= =?utf-8?B?Qktaa0FDb0l2NUlDS05iRFQzblRUd1czYUo2Zk5EblR3ZjNRU1lyc0pGK0gr?= =?utf-8?B?anJrN1Zab2ZycS9JTXR6Slg2R0tvYk5XazQ3Q3Bwa0plaFFGZkcyQnV2cUkx?= =?utf-8?B?V2V3NGlGdDd3RDkrTk5HSkVjelBqVEthSXNEQ24za2xoSW84alVvN2Ixc2FJ?= =?utf-8?B?dGliQ05QL2wzQXBXS1JZbWlVNEtVUW9waVZaMXpnMXZKV3R1eTdTbXBCblVx?= =?utf-8?B?ck0vTEdrTGFneFd0bEZCalRZNVh0Mjh2TGY3Q3NickgyM1dYL2wxM3B2NDlF?= =?utf-8?B?eXFhY01rSU5mbDFzeVF5Tmk4VHNIRlJRNlIyQktaem4zcnVqTzVmMDBTNUxv?= =?utf-8?B?NkNvS1RlZFdTNmlnSXV1ZkNhLzB4b0YyMUJJcTJQRXNhVG9HZ0JMN2ZlTElk?= =?utf-8?B?VGt6MGh5V3haQlFtRzJudEVZL1pOTWc4NXBMZXg3REpxUnJDU0JCMW4xcE1C?= =?utf-8?B?dk9JU3FyVUdSQUkzRnFhelNDUVN1WmlHZmJHTGRLT1VHeHoyQ2laeDBNS0hR?= =?utf-8?B?S2Z4Uk40MW5iTHFxZ3lzcDNBbU1QQk1jaDBNZ2tRcVpVYmNRdGY0RE1oMGpK?= =?utf-8?B?SGdYQmdLOHZqek9nR003WFpINnlnMHBFVEgvUTMzb2pFMVR1bDBTeUY3MjZL?= =?utf-8?B?Qjk1SThRWFpVb01MWlQxUk54ZTlpblkxRWlrOWhxajZVWG5Za0dwbC9TeHMz?= =?utf-8?Q?wecSBUn+OmwW2XxcFXJyzlg=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 519b8e1b-0e5c-42f1-7bf5-08d9a5c7ce78 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2021 10:33:03.1972 (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: z0dXzZO3bDMqbsBI5qSfj54623YBmOzvA3t4U30eK/rYmVwUcUr6I2e0zhA/25yDfdb9RXRthmXREQc5e0Jk2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3933 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1636713209854100003 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 Reviewed-by: Kevin Tian --- 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 Apr 29 11:55:12 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=1636713239; cv=pass; d=zohomail.com; s=zohoarc; b=Ij52oxj60dwHbzB/Hb9sThmKSpW1bcGdCq85Fxsd7VKwJ2k6ATnBRAYrXuXw5uMLIM/19VRq9NJw6NZrNQfhlS5V3zFT4XEa4TFlVW9emhwAT9o2GzLoOfeiKp60JzDzMoxS4KLtOJkik1JJONSsgj2hHnFFAhFI1Ya1sQAD1Ts= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1636713239; 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=119T01OvQDSJZiVFnQp9OnVNrOzjtoeevn1TMHaqy9Y=; b=mrYlRR7R4Pw/eie1WMw0n35sRpyLZay6Hur+Mhl0wMLIgUjXC2iF6QALFw2TfOh7GtwTXsMcnT5teX50CbP9sX9b9u2GRD071cwmbzFsrpdqL5XAJoWDV4sdL+vda8B/V+6kdASJbxjpqffaSnYDCG2ZxQiQvN3bHO5bIcNDEwU= 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 1636713238991118.43163742849094; Fri, 12 Nov 2021 02:33:58 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.225126.388808 (Exim 4.92) (envelope-from ) id 1mlTsL-0000aG-5b; Fri, 12 Nov 2021 10:33:41 +0000 Received: by outflank-mailman (output) from mailman id 225126.388808; Fri, 12 Nov 2021 10:33:41 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mlTsL-0000a9-2M; Fri, 12 Nov 2021 10:33:41 +0000 Received: by outflank-mailman (input) for mailman id 225126; Fri, 12 Nov 2021 10:33:39 +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 1mlTsJ-0008JA-Hm for xen-devel@lists.xenproject.org; Fri, 12 Nov 2021 10:33:39 +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 ff80c83e-43a3-11ec-a9d2-d9f7a1cc8784; Fri, 12 Nov 2021 11:33:38 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2106.outbound.protection.outlook.com [104.47.17.106]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-8-bGtHyApfNnCUAUPxQcNC3w-1; Fri, 12 Nov 2021 11:33:37 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB7040.eurprd04.prod.outlook.com (2603:10a6:800:121::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.25; Fri, 12 Nov 2021 10:33:36 +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; Fri, 12 Nov 2021 10:33:36 +0000 Received: from [10.156.60.236] (37.24.206.209) by AS8PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:20b:312::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.15 via Frontend Transport; Fri, 12 Nov 2021 10:33:35 +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: ff80c83e-43a3-11ec-a9d2-d9f7a1cc8784 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1636713218; 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=119T01OvQDSJZiVFnQp9OnVNrOzjtoeevn1TMHaqy9Y=; b=eOk4AzELouEem5LATIxWOz5mbYuymMpH6vS8hwWTSYBd61zUH+9ej6yZhCHX3CiNeQwcPt HYA46ZWdmJxD0bpd1kQjcSI6cdB64mPD0VVrAoDsc6ThETbWaJILrfSxaj8xdzdUP/Nd5W mQFTo7WH7il60cAhLWUZkgarLxb7fy8= X-MC-Unique: bGtHyApfNnCUAUPxQcNC3w-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ly3uqgL6f7AnYvGAH15dThTyrQYDEDkXBDla1UaFKVOfflL3bwxYS+TB5POiBI3a5iTac9NX/ZYKSQG2KIjLESYZ92/BwD5+zPfEtq6/1h/o5hrF8AM5uh5bncWsoEeHwPVJeo6OsxoUYD0T91zLGrxsWB+89Q4yP7jNrs2hpSYsalX5iTvpApjOEdHq9EYLNUeG7BsC9IUwEfk0ZnQq7jWL+5zlG7bnn/APQv1JEP8azP4wKXng8xuZmmuVjDYDTMGMfVncNXrzqRPFJlqzvDS+LG5LJCj1CAaphIl0kC7k23RbUV+uJqCgvJk1dIJnW5V1xHd5PGrHqRmYLMC+KQ== 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=119T01OvQDSJZiVFnQp9OnVNrOzjtoeevn1TMHaqy9Y=; b=IoyvklUvwEy992ZW+C7heIWUZS2+r1rVdgWPHBuVOrNfopThmpHKt10m8e4z1wAV7cDkjsee2xyihqb+DzEh/aSFpKg8zwsdggqN/fwaz+IuzfrJIshTaiOpH/BUSRB/f0ZkFRUe3OuexqP05bGVo4fky+zuw/YHxWDUj9oRHHHxS4AtRvHd84pLg0jzlk0LXGsqpp6rDvIg+CAK98jFm7vCYBWONBMznDet4hcQwZdXIt8ukOGXT8sstwG1ZXJo6Ip8bTheIGMMM/J/LlhHkINdHmp5WOyhLFRFbX7TI7gwjdnrvIE5WcXoEGgFLf6V8fYO5JEIdvLuXHrtTr9Wew== 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: <0ca809cb-1768-639c-3f58-c5e2c343b1e8@suse.com> Date: Fri, 12 Nov 2021 11:33:34 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: [PATCH RESEND 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: AS8PR04CA0053.eurprd04.prod.outlook.com (2603:10a6:20b:312::28) 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: d50a6da9-2423-4f78-037e-08d9a5c7e201 X-MS-TrafficTypeDiagnostic: VI1PR04MB7040: 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: bviTnOqdo1JJcgaTGzR2N1aK9CglvjQzvBuhWste4cmLtBlyQOpLbx3L76siChQBnm0ySS9+YA9OJ1MZZAbV94xc75VCZeSBD00UxAmuq6xhnRXk6GJ6e00pXJWhPoZ9a7puu9Us0lEIehcrtSuMpre6DIecAiEPOfsZtXXTXhgWgckXF/8DQ4+WPjLWkct8n8DuabOBnSbH57hPwRWr3KRVcVVPO07sa7ySSck5n3FiILVieyGUmmM/lrY3j0PKfJ5+b1FalQCuNwRpcuan7LukjBdBKnJxPS9QwjFVHQHU/IBA7F/6kOxahcdt2sMO/r9YxW2SO8SQZE86mSspSllysOOOTapMADZ9leH//VTVlKp8zBohPF3ndoehBSlpWkVPFunq/kf5UKrWdPmTuyhldOP/4NL/ktbPsA1HtOL27iLRU3p2Q8n1KPShAl/1LSOmXdM/hoQD3V61rdui4ok0djXAZ6P4LWyY2NYCV1AeszzNltBG2446W4fpkAKkzdk2BUsE3xBoGhrw4aGdIq26fqcEXZwh4Q65z3wwGVOSXUW/Ihv4/e+Iw/hCzQ2iIfvzzL+AzEWsW2SagdoN0MZJY/hYrtRrct7oxKuUrI3EcjX07xfKyU41bFElS6z2nno+NbRENbYhZUAZYH893uu+xrntxKiOEkdzmqrg8CPb2b0O7cR32715aeTcjjck8sIyOKsXjEKl42eGs5r3QGkQTya8p1vJsL1b6FKfFsY= 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)(31686004)(186003)(2616005)(26005)(508600001)(38100700002)(36756003)(66476007)(66946007)(6486002)(8936002)(86362001)(4326008)(2906002)(66556008)(6916009)(83380400001)(316002)(5660300002)(54906003)(16576012)(8676002)(31696002)(956004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eHZVLzJjN3BWWHJDdjhFbDlsUkJXRHNDWlNoYTg0dzd4WU85bGpGdEVvb053?= =?utf-8?B?RWxtVFk3L3A5NGdPRGs3N1RFQWFoTmNhK3pwRGkyY1VqMHhLbVhGcG90UFJF?= =?utf-8?B?Skx6UHNsb0FHeXVvSUJLMVhtNEJwTXNVUE54SmVPOXY4ays0eUQ3eWtVZ2ty?= =?utf-8?B?SE5DL2V3ck4vWFNNbnNDYWVRc2RLTEIrL3Jjakt2VzRQbDhxZG05NW1YdG1v?= =?utf-8?B?WVlKb1grUmxyNk02RXlrQWd4akZjNVB3QkoyOTJuS0ZlZ1JIcDdCdkpSR3p0?= =?utf-8?B?WXRqUVV2bUNpYTlQRURxUkJUeVBzRE45Vlp4TC9NTVM0ZURQT1huYUdrb1Y5?= =?utf-8?B?R0Z0UkRvdEZpOGlsV1l6TTZkSFg1RFBrNWdlTUs3aitYQ091S3RkOE1PV1ky?= =?utf-8?B?WHBGYzd2cURoZjBPdm51d0FWMmxGVHREeEVkUUdFOHVqVzZnc3daNkNjTm1X?= =?utf-8?B?alJFNEFZQ28vNUpzNDRyVFh0WnR2M2NOQ2ZzWkVJU0FPblVwYmtVUzFBTU82?= =?utf-8?B?REVycGFyeUZGbURIM0paVS8rK0s5UHdqMllja3VIbVhwYzVXMFZXTktZeXhE?= =?utf-8?B?TGhBdnJ0WkdBc2Y2SGJvUEdBS1FkRzl6UUR4emJHaGdQbUFVNzlzTVZoV0Fj?= =?utf-8?B?NUh1ZWdjbHdzaDNmMXdvc3FybCt4TjcwYVdMa3h6TWprdmM0azQyQWV1aVRw?= =?utf-8?B?MXZ4dkFjdlJORyt4bkY4TGtKa2QxL3dRZjhBdUJLa2piVTFuWWpZeWFnbCs2?= =?utf-8?B?eUxzcGE0SjdKb1llNTN0RlZ2OGVvMUlFRzU1WGRRY2I2ZTBtRHV0OWxUSGpF?= =?utf-8?B?WDhBd1p0V2ZVdEdEa1o2elpFUkVpMEJ0OXBvM2lmdlFhbjJXU1N0akFndW5Z?= =?utf-8?B?dEJNYStzQk5Dc0RXL1JRaEhwSFdyamhYd1lCcVJwKzNPbTh5K2hnSXA4WTJH?= =?utf-8?B?ajRLN0s4RTZub0llVFFHdWZaZGZXdzVzQzYrRnRLK0lUTUV1aEJqblhjRTdG?= =?utf-8?B?RU0ybVdOOHNJd1hSS0ZHSHlTSGk2OStDZFg5c3N1QXkrV1ozOUlkVEVxZS83?= =?utf-8?B?aDhURFpiRTd6R0EzeTRKb0s1MUFVUmlvQmh2MUM0UFR4ejlQWitIQVdieVBD?= =?utf-8?B?LzljcmtuN2NSZk1ZcVB6RVZ2VkJwL25wZ1pCYlp2NTQxM0lUZitra215MU8y?= =?utf-8?B?NkFFMUQ2RWh6d3UvdHpjVjd0TzhBYjV1NFE3MDFidnlDQUt3aWtMZ0V1dHJw?= =?utf-8?B?bVNVTU5GalZjSlNqMUx0cldMWXRtMnI4K1k0ajhMZVgxUGppaUZxenNUdDJj?= =?utf-8?B?ZXltRmFGSldpM0k1ZzIvdHErclFaRDRsR0VKZkVRTkNMNHR3emw4NEE2S2lB?= =?utf-8?B?a1ZOTG5XWDZoc1BjdUVTa3RoeTNZM3I5M1hQVGVGZ0d2d3B2NnVjTmxORmNG?= =?utf-8?B?dmU1S3RZMXJTTlQzMTB1UXpwTEVaMHN5MDR5c2dvOEFoYUR1RG01enJSR0Ix?= =?utf-8?B?ZVJ1L2hDaWkyd2tSYTdIaTNuYnNhcHVMRmIxUDFRQjhyM3V3RGdQNDBQQjFy?= =?utf-8?B?YXBHaytmYnVWZFBndUFCQzIxTlRuSFFSVXRGdHl4cWVqRXlIb1NCVWpBSDR2?= =?utf-8?B?SG13QVJQVzk3YzBuUFZxUUN2bnlnTllRRGxnNEphODRrVkg3YUtPQW1lc242?= =?utf-8?B?NkdHYk5jbjMrMUVoTE5QNStyclk2SDhXUU5yRWtoWlRtc3NEaVRKWEhSWXNt?= =?utf-8?B?cjQ0TkJJUGtMZWhTUldYTDlLZkRwZ08wZjhvWllDTUk3a3dsWmszM1pnM2xQ?= =?utf-8?B?S1g3MmZubStvQXA3cmVDOHFRaVZEY2V3V3dlSlJBTm9RcXVGbDZRRUh6bVlK?= =?utf-8?B?cFM0NlpZK2lITDVOV2E3c3VIaVVDV2c2RitOZitzTytjdUpTQlZUZ1NydXI4?= =?utf-8?B?SW9RblB2eDBnT3U0ZGNxVDZlZnhDeUk2cDZubFFrMUI3c3ZORDlSR0xBUkwx?= =?utf-8?B?VlF2TXl6aWNoMW5od0xqOWVlWVN5MHRPeU5xaGw3N1FjWFd2VS9QU0dFYWdH?= =?utf-8?B?K0svRFN0SzVXd054R0FTMDBkb012MFBhZlo4SkNXdG1IZEw3ZU54NngzeTFR?= =?utf-8?B?WCtOaWFCajNyeld1YURrWVJnN0p0WmJxUUZLSDZoT1U1Rjd1V1krZWRVeFNj?= =?utf-8?Q?9mwhdWtAYbM4gQeAfxXNlE4=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d50a6da9-2423-4f78-037e-08d9a5c7e201 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Nov 2021 10:33:35.9407 (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: evCFJ3aiugjiXJCOHxEkG/AovUHD+laq15dXzKi+Zv6fwHNKWbB/YgU/0Q33cCFPty+8laLMNzRfRdvcZa0sVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7040 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1636713241193100001 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 Reviewed-by: Kevin Tian --- 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 ) {