Re: IO_PAGE_FAULTs on unity mapped regions during amd_iommu_init() in Linux 3.4

Shuah Khan
2013-02-11T20:18:00Z

On Mon, Feb 11, 2013 at 12:49 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
> On Wed, Feb 06, 2013 at 07:40:50PM -0700, Shuah Khan wrote:
>> On Wed, 2013-02-06 at 13:12 +0100, Joerg Roedel wrote:
>> > On Tue, Feb 05, 2013 at 06:57:21AM -0700, Shuah Khan wrote:
>> > > Thanks much. I will hang on to this test system for testing your fix.
>> >
>> > Okay, here is the simple fix for v3.8-rc6. I guess it is not
>> > straighforward to port it to v3.4, but it should be doable.
>> >
>> > From 2ecf57c85e67e0243b36b787d0490c0b47202ba8 Mon Sep 17 00:00:00 2001
>> > From: Joerg Roedel <joro@8bytes.org>
>> > Date: Wed, 6 Feb 2013 12:55:23 +0100
>> > Subject: [PATCH] iommu/amd: Initialize device table after dma_ops
>> >
>> > When dma_ops are initialized the unity mappings are
>> > created. The init_device_table_dma() function makes sure DMA
>> > from all devices is blocked by default. This opens a short
>> > window in time where DMA to unity mapped regions is blocked
>> > by the IOMMU. Make sure this does not happen by initializing
>> > the device table after dma_ops.
>> >
>> > Signed-off-by: Joerg Roedel <joro@8bytes.org>
>>
>> Joerg,
>>
>> I tested your patch on 3.8. I was able to reproduce the problem and then
>> apply your patch to verify that the problem is fixed. This patch applies
>> cleanly to 3.7.6, however I could not reproduce the problem on 3.7.6
>> without the patch. But the window exists on 3.7 as well. Your patch can
>> be applied to 3.7.6 as is.
>>
>> I back-ported the patch to 3.4 and 3.0 and tested. I am sending those
>> patches after this email.
>>
>> On 3.4.29 and 3.0.62 I was able to reproduce the problem and then
>> applied the back-ported patch to verify that the problem is fixed.
>>
>> Thanks again for the fix.
>
> I'm lost here, why isn't this patch in Linus's tree already? You seem
> to be sending backports for something that isn't there to backport yet.
>
> Please resend these patches to stable@vger.kernel.org, with the upstream
> git commit id, when they are in Linus's tree, there's nothing I can do
> with them for now, sorry.
>
> greg k-h

Greg,

I will resend the patch when I have the commit id from Linus's tree.

Thanks,
-- Shuah