From nobody Mon Feb 9 19:06:37 2026 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; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1613558807; cv=none; d=zohomail.com; s=zohoarc; b=CELXeMv4wq61he48fHv/QqcbgVN89kF7ewkobdQUAXc1/DjM7834mvEw3t8x0+xz2s7JWJumqeMSuvYclubdpbGEwzWCReA8moWGf33Lfsgd8+6netubtE2nEjw/VEhAr98CH8ElCGiA7SwT7PPPQyRL4GyLLM2nkzpFwRYpiD0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613558807; 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=VudHzvHkbrWxXAQT3YkDMWmcJ5pINo+1wlM1FgK45WU=; b=HeX3wsZS2vlQs8W6Fc1fK3oOJ8xLRZOvW/V+QgEsd7V59yuk8CAyUHNCpIUPFq7+B9KVo73ROVEvF48+4sCbPSbNadR20i/BY/kvH+VXfK2r4M+zzc84HwaGolQINRfACka65pLfZmqIXnwMvZdZOJTB0R3UhRQcuw+YKU62gZo= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=quarantine dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1613558807250417.28496258817995; Wed, 17 Feb 2021 02:46:47 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.86204.161618 (Exim 4.92) (envelope-from ) id 1lCKLp-0000Is-GX; Wed, 17 Feb 2021 10:46:33 +0000 Received: by outflank-mailman (output) from mailman id 86204.161618; Wed, 17 Feb 2021 10:46:33 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lCKLp-0000Il-DX; Wed, 17 Feb 2021 10:46:33 +0000 Received: by outflank-mailman (input) for mailman id 86204; Wed, 17 Feb 2021 10:46:32 +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 1lCKLn-0000Ie-UB for xen-devel@lists.xenproject.org; Wed, 17 Feb 2021 10:46:31 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 9d84df09-bc85-4edf-a52d-801e5272fe32; Wed, 17 Feb 2021 10:46:31 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 45E22B1AB; Wed, 17 Feb 2021 10:46:30 +0000 (UTC) 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: 9d84df09-bc85-4edf-a52d-801e5272fe32 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1613558790; h=from:from:reply-to: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=VudHzvHkbrWxXAQT3YkDMWmcJ5pINo+1wlM1FgK45WU=; b=XFf2PzRUoaBtA3RmlfcRvSi0PQbmgi3lL7ZdHaV/xzen1zkf8LJh+ir+L4pcwjyNfisEBj hy+zaBbbBt+ZIxBst9hdcFFbRZgFnxiKYJ5Zu0eBueBlFGNY8jd0j6/+OdRAz++VBMi42u JjRzZKA+e8B4zFzVjp6hcenZyWZ+rkk= Subject: [PATCH 2/3] gnttab: bypass IOMMU (un)mapping when a domain is (un)mapping its own grant From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , George Dunlap , Ian Jackson , Julien Grall , Stefano Stabellini , Wei Liu , Rahul Singh References: <156559d5-853a-5bb9-942b-f623627e0907@suse.com> Message-ID: <5bb4fba7-a10b-90c4-82f7-8cde6e8cacfb@suse.com> Date: Wed, 17 Feb 2021 11:46:29 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <156559d5-853a-5bb9-942b-f623627e0907@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" Mappings for a domain's own pages should already be present in the IOMMU. While installing the same mapping again is merely redundant (and inefficient), removing the mapping when the grant mapping gets removed is outright wrong in this case: The mapping was there before the map, so should remain in place after unmapping. This affects - Arm Dom0 in the direct mapped case, - x86 PV Dom0 in the "iommu=3Ddom0-strict" / "dom0-iommu=3Dstrict" cases, - all x86 PV DomU-s, including driver domains. Reported-by: Rahul Singh Signed-off-by: Jan Beulich Reviewed-by: Julien Grall --- a/xen/common/grant_table.c +++ b/xen/common/grant_table.c @@ -1243,7 +1243,7 @@ map_grant_ref( goto undo_out; } =20 - need_iommu =3D gnttab_need_iommu_mapping(ld); + need_iommu =3D ld !=3D rd && gnttab_need_iommu_mapping(ld); if ( need_iommu ) { unsigned int kind; @@ -1493,7 +1493,7 @@ unmap_common( if ( put_handle ) put_maptrack_handle(lgt, op->handle); =20 - if ( rc =3D=3D GNTST_okay && gnttab_need_iommu_mapping(ld) ) + if ( rc =3D=3D GNTST_okay && ld !=3D rd && gnttab_need_iommu_mapping(l= d) ) { unsigned int kind; int err =3D 0;