Re: [PATCH 2/2] x86 amd_gart_64: Verify we can perform the remapping requested

From: Eric W. Biederman
Date: Fri Nov 11 2011 - 13:58:51 EST


Joerg Roedel <joro@xxxxxxxxxx> writes:

> On Mon, Oct 24, 2011 at 12:07:36PM +0200, Joerg Roedel wrote:
>> On Mon, Oct 17, 2011 at 02:20:15PM -0700, Eric W. Biederman wrote:
>> >
>> > Recently I had a driver try with a peculiar 2G dma memory limit.
>> > The driver failed in weird and strange ways because the GART remapping
>> > apperture had been allocated above 2G where the driver cound not reach,
>> > and no error was reported when the mappings were setup.
>> >
>> > Implement gart_dma_supported to test for this problem case and to return
>> > and error if we can not support the remapping.
>>
>> You do basically the same as for swiotlb, so it must be good :)
>
> Okay, thinking more about this, I am not so sure anymore it is a really
> good idea to fix it this way. It basically signals the driver that DMA
> is not possible with the device if the aperture does not fit into
> the dma_mask. But DMA within the ZONE_DMA might still work, no?
>
> So I think the right way to fix it is to return a dma-mapping error if
> and only if the address needs to be remapped by the aperture (of swiotlb or
> gart).

Perhaps I am mistaken but since the method is iommu type specific if we
don't actually use the iommu we should not call the method so I think
this is patch is already implementing what you want.

> This still allows the driver to use GFP_DMA allocations.

I definitely agree on that.

Eric
--
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/