diff --git a/mm/memory.c b/mm/memory.c index dab1511294add14ba1290ded1dcd65408e274a4c..c5e87a3a82ba340254ff66b446c9b853fc211dde 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -4395,6 +4395,9 @@ int generic_access_phys(struct vm_area_struct *vma, unsigned long addr, return -EINVAL; maddr = ioremap_prot(phys_addr, PAGE_ALIGN(len + offset), prot); + if (!maddr) + return -ENOMEM; + if (write) memcpy_toio(maddr + offset, buf, len); else