From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753085AbbGVWgm (ORCPT ); Wed, 22 Jul 2015 18:36:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44208 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752125AbbGVWgl (ORCPT ); Wed, 22 Jul 2015 18:36:41 -0400 Message-ID: <1437598864.5211.41.camel@redhat.com> Subject: Re: [PATCH] iommu/vt-d: Fix VM domain ID leak From: Alex Williamson To: Joerg Roedel Cc: iommu@lists.linux-foundation.org, dwmw2@infradead.org, jiang.liu@linux.intel.com, linux-kernel@vger.kernel.org Date: Wed, 22 Jul 2015 15:01:04 -0600 In-Reply-To: <20150716170356.GC10969@8bytes.org> References: <20150714204731.10189.28556.stgit@gimli.home> <20150716152030.GB10969@8bytes.org> <1437061435.1391.580.camel@redhat.com> <20150716170356.GC10969@8bytes.org> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2015-07-16 at 19:03 +0200, Joerg Roedel wrote: > On Thu, Jul 16, 2015 at 09:43:55AM -0600, Alex Williamson wrote: > > I was tempted to do this as well, but what about > > domain_remove_dev_info() where we also handle vm domains specially and > > don't do a symmetric detach in both directions? I started down that > > path but quickly found the code to fragile to make those kinds of > > changes. Thanks, > > Okay, so domain_remove_dev_info() does: > > if (domain_type_is_vm(domain)) { > iommu_detach_dependent_devices(info->iommu, info->dev); > domain_detach_iommu(domain, info->iommu); > } > > ... in a loop over all devices attached to the domain. The first > function (iommu_detach_dependent_devices) is not special to vm-domains. > In fact, domain_remove_one_dev_info calls it for all domain types. > > And domain_detach_iommu only clears the bit in the iommu_bmp of the > domain, which is also not special and also called for all domain types > in domain_remove_one_dev_info. > > So it looks like this special handling has no real purpose and is just > part of the whole mess. I am currently working on the conversion of the > Intel VT-d driver to use default-domains from the iommu-core. When this > is done we can get rid of that mess. In the meantime, we're still leaking domain IDs, do you see any problem with the proposed patch for 4.2 and stable? Thanks, Alex