mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
sys_remap_file_pages: fix ->vm_file accounting
Fix ->vm_file accounting, mmap_region() may do do_munmap(). Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c0b49b0d16
commit
8a459e44ad
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user