Linus, please pull from
git://git.infradead.org/intel-iommu.git for-linus-20151021
This contains a single fix, for when the IOMMU API is used to overlay
an existing mapping comprised of 4KiB pages, with a mapping that can
use superpages.
For the *first* superpage in the new mapping, we were correctly¹
freeing the old bottom-level page table page and clearing the link to
it, before installing the superpage. For subsequent superpages,
however, we weren't. This causes a memory leak, and a warning about
setting a PTE which is already set.
¹ Well, not *entirely* correctly. We just free the page table pages
right there and then, which is wrong. In fact they should only be freed
*after* the IOTLB is flushed so we know the hardware will no longer be
looking at them.... and in fact I note that the IOTLB flush is
completely missing from the intel_iommu_map() code path, although it
needs to be there if it's permitted to overwrite existing mappings.
Fixing those is somewhat more intrusive though, and will probably need
to wait for 4.4 at this point.
Christian Zander (1):
iommu/vt-d: fix range computation when making room for large pages
drivers/iommu/intel-iommu.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
--
David Woodhouse Open Source Technology Centre
[email protected] Intel Corporation
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ iommu mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/iommu
