Re: [PATCH] iommu/amd: Fix unity mapping initialization race

From: Joerg Roedel
Date: Mon Jul 11 2016 - 03:20:10 EST


On Sun, Jul 10, 2016 at 07:40:53PM +0800, Wan Zongshun wrote:
> Do you mean we need enable the V and TV bits to DTE entry after all
> DTEs tables were initialized completely?

Yes, this is what my patch does and what fixes the bug that was
reported on machines which have unity-mapping entries.

> I checked this function 'init_device_table_dma', and find it just set
> V and TV bit, to set translation info valid and DTE bits127:1 valid.

Right, if no other bits are set this blocks all DMA from the gives
device-id.

> So I just think all things it should to do are to allow DMA access,
> GPA-to-SPA translation should be active, why you add function
> comments below is to not allow DMA access and suppress all page
> faults?
>
> /*
> * Init the device table to not allow DMA access for devices and
> * suppress all page faults
> */

Yeah, that comment needs to be updated. Not all DMA is blocked and
page-faults are not suppressed at all. Thanks for noticing.



Joerg