>>> On 29.05.19 at 11:04, <jgr...@suse.com> wrote: > @@ -345,8 +346,11 @@ xen_swiotlb_free_coherent(struct device *hwdev, size_t > size, void *vaddr, > size = 1UL << (order + XEN_PAGE_SHIFT); > > if (!WARN_ON((dev_addr + size - 1 > dma_mask) || > - range_straddles_page_boundary(phys, size))) > + range_straddles_page_boundary(phys, size)) && > + PageXenRemapped(virt_to_page(vaddr))) { > xen_destroy_contiguous_region(phys, order); > + ClearPageXenRemapped(virt_to_page(vaddr)); > + }
To be symmetric with setting the flag only after having made the region contiguous, and to avoid (perhaps just theoretical) races, wouldn't it be better to clear the flag before calling xen_destroy_contiguous_region()? Even better would be a TestAndClear...() operation. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel