amd_iommu: do not dereference a NULL pointer address.

under low memory conditions, alloc_pte() may return a NULL pointer.
iommu_map_page() does not check it and will panic the system.

Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
Maurizio Lombardi 2014-09-11 12:28:03 +02:00 коммит произвёл Joerg Roedel
Родитель cafd2545cf
Коммит 63eaa75e43
1 изменённых файлов: 3 добавлений и 0 удалений

Просмотреть файл

@ -1393,6 +1393,9 @@ static int iommu_map_page(struct protection_domain *dom,
count = PAGE_SIZE_PTE_COUNT(page_size);
pte = alloc_pte(dom, bus_addr, page_size, NULL, GFP_KERNEL);
if (!pte)
return -ENOMEM;
for (i = 0; i < count; ++i)
if (IOMMU_PTE_PRESENT(pte[i]))
return -EBUSY;