diff options
| -rw-r--r-- | mm/nommu.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/mm/nommu.c b/mm/nommu.c index 1fd0c51b10a..9edc897a397 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -1813,10 +1813,13 @@ struct page *follow_page(struct vm_area_struct *vma, unsigned long address,  	return NULL;  } -int remap_pfn_range(struct vm_area_struct *vma, unsigned long from, -		unsigned long to, unsigned long size, pgprot_t prot) +int remap_pfn_range(struct vm_area_struct *vma, unsigned long addr, +		unsigned long pfn, unsigned long size, pgprot_t prot)  { -	vma->vm_start = vma->vm_pgoff << PAGE_SHIFT; +	if (addr != (pfn << PAGE_SHIFT)) +		return -EINVAL; + +	vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP;  	return 0;  }  EXPORT_SYMBOL(remap_pfn_range);  |