|
@@ -190,10 +190,13 @@ asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size,
|
|
|
*/
|
|
|
if (mapping_cap_account_dirty(mapping)) {
|
|
|
unsigned long addr;
|
|
|
+ struct file *file = vma->vm_file;
|
|
|
|
|
|
flags &= MAP_NONBLOCK;
|
|
|
- addr = mmap_region(vma->vm_file, start, size,
|
|
|
+ get_file(file);
|
|
|
+ addr = mmap_region(file, start, size,
|
|
|
flags, vma->vm_flags, pgoff, 1);
|
|
|
+ fput(file);
|
|
|
if (IS_ERR_VALUE(addr)) {
|
|
|
err = addr;
|
|
|
} else {
|