Re: [PATCH v9 0/10] iommu/vt-d: Fix intel vt-d faults in kdump kernel

From: Li, Zhen-Hua
Date: Fri Apr 03 2015 - 10:06:48 EST

The hardware will do some verification, but not completely. If people think the OS should also do this, then it should be another patchset, I think.


> 在 2015年4月3日,17:21,Dave Young <dyoung@xxxxxxxxxx> 写道:
>> On 04/03/15 at 05:01pm, Li, ZhenHua wrote:
>> Hi Dave,
>> There may be some possibilities that the old iommu data is corrupted by
>> some other modules. Currently we do not have a better solution for the
>> dmar faults.
>> But I think when this happens, we need to fix the module that corrupted
>> the old iommu data. I once met a similar problem in normal kernel, the
>> queue used by the qi_* functions was written again by another module.
>> The fix was in that module, not in iommu module.
> It is too late, there will be no chance to save vmcore then.
> Also if it is possible to continue corrupt other area of oldmem because
> of using old iommu tables then it will cause more problems.
> So I think the tables at least need some verifycation before being used.
>> Thanks
>> Zhenhua
>> On 04/03/2015 04:40 PM, Dave Young wrote:
>>>> To fix this problem, we modifies the behaviors of the intel vt-d in the
>>>> crashdump kernel:
>>>> For DMA Remapping:
>>>> 1. To accept the vt-d hardware in an active state,
>>>> 2. Do not disable and re-enable the translation, keep it enabled.
>>>> 3. Use the old root entry table, do not rewrite the RTA register.
>>>> 4. Malloc and use new context entry table, copy data from the old ones that
>>>> used by the old kernel.
>>> Have not read all the patches, but I have a question, not sure this has been
>>> answered before. Old memory is not reliable, what if the old memory get corrupted
>>> before panic? Is it safe to continue using it in 2nd kernel, I worry that it will
>>> cause problems.
>>> Hope I'm wrong though.
>>> Thanks
>>> Dave