Re: [Xen-devel] [PATCH 2/2] swiotlb-xen: pass dev_addr to swiotlb_tbl_unmap_single

From: Ian Campbell
Date: Mon Jan 26 2015 - 05:53:40 EST


On Fri, 2014-11-21 at 17:00 +0000, Stefano Stabellini wrote:
> Need to pass the pointer within the swiotlb internal buffer to the
> swiotlb library, that in the case of xen_unmap_single is dev_addr, not
> paddr.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> CC: konrad.wilk@xxxxxxxxxx
> CC: stable@xxxxxxxxxxxxxxx

This went into mainline as 2c3fc8d26dd0 "swiotlb-xen: pass dev_addr to
swiotlb_tbl_unmap_single" but was reverted in dbdd74763f1f.

However it seems that 2c3fc8d26dd0 has made it into at least some stable
kernel trees:
v3.18.3 as 2129c43d41e9
v3.16.7-ckt4 as 94ab279b0c9a
v3.14.29 as 3394691d34fc
v3.10.65 as 81cb80b578c5
so it should be reverted there too. This is causing issues in the field
such as https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=776237.

v3.17, v3.15, v3.13.11-ckt14, v3.12.x, v3.11.x appear clean, I stopped
going backwards at v3.10.

Cheers,
Ian.

> ---
> drivers/xen/swiotlb-xen.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
> index 810ad41..5ea1e3c 100644
> --- a/drivers/xen/swiotlb-xen.c
> +++ b/drivers/xen/swiotlb-xen.c
> @@ -451,7 +451,7 @@ static void xen_unmap_single(struct device *hwdev, dma_addr_t dev_addr,
>
> /* NOTE: We use dev_addr here, not paddr! */
> if (is_xen_swiotlb_buffer(dev_addr)) {
> - swiotlb_tbl_unmap_single(hwdev, paddr, size, dir);
> + swiotlb_tbl_unmap_single(hwdev, dev_addr, size, dir);
> return;
> }
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/