|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] IOMMU/x86: avoid pages without GFN in page table creation/updating
>>> On 11.05.15 at 04:53, <yang.z.zhang@xxxxxxxxx> wrote:
> Jan Beulich wrote on 2015-05-07:
>> --- a/xen/drivers/passthrough/x86/iommu.c
>> +++ b/xen/drivers/passthrough/x86/iommu.c
>> @@ -59,10 +59,17 @@ int arch_iommu_populate_page_table(struc
>> if ( has_hvm_container_domain(d) ||
>> (page->u.inuse.type_info & PGT_type_mask) ==
>> PGT_writable_page )
>> {
>> - BUG_ON(SHARED_M2P(mfn_to_gmfn(d,
>> page_to_mfn(page))));
>> - rc = hd->platform_ops->map_page(
>> - d, mfn_to_gmfn(d, page_to_mfn(page)),
>> page_to_mfn(page),
>> - IOMMUF_readable|IOMMUF_writable);
>> + unsigned long mfn = page_to_mfn(page);
>> + unsigned long gfn = mfn_to_gmfn(d, mfn);
>> +
>> + if ( gfn != INVALID_MFN )
>> + {
>> + ASSERT(!(gfn >> DEFAULT_DOMAIN_ADDRESS_WIDTH));
>> + BUG_ON(SHARED_M2P(gfn));
>
> It seems ASSERT() is unnecessary. BUG_ON() is enough to cover it.
The two check completely different things, so I don't see how
the BUG_ON() would help with out of bounds, yet also not
INVALID_MFN GFNs. Please clarify what you mean here.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |