[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 7/7] x86: add iommu_ops to map and unmap pages, and also to flush the IOTLB
> -----Original Message----- [snip] > >> How are you making sure this is a mapping that was established via > >> the map op? Without that this can be (ab)used to ... > >> > >> > + put_page(page); > >> > >> ... underflow the refcount of a page. > >> > > > > Yes, I guess I need to ensure that only non-RAM (i.e. RMRR and E820 > reserved > > areas) are mapped through the IOMMU or this could indeed be abused. > > Now I'm confused - then you don't need to deal with struct page_info > and page references at all. Nor would you need to call > get_page_from_gfn() and check p2m_is_any_ram(). Also - what use > would the interface be if you couldn't map any RAM? > Sorry to confuse... What I meant was that safety (against underflow) is predicated on iommu_lookup_page() failing if the mapping was not established through an iommu op hypercall. So, the only things that should be valid in the iommu (and hence that iommu_lookup_page() would succeed for) at the point where the guest starts to boot must all fall within reserved regions, so thay they are ruled out by the earlier check. Paul _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |