Commit 7223bb4a authored by Namhyung Kim's avatar Namhyung Kim Committed by Linus Torvalds

mm: nommu: fix a potential memory leak in do_mmap_private()

If f_op->read() fails and sysctl_nr_trim_pages > 1, there could be a
memory leak between @region->vm_end and @region->vm_top.
Signed-off-by: default avatarNamhyung Kim <namhyung@gmail.com>
Acked-by: default avatarGreg Ungerer <gerg@uclinux.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d75a310c
...@@ -1217,7 +1217,7 @@ static int do_mmap_private(struct vm_area_struct *vma, ...@@ -1217,7 +1217,7 @@ static int do_mmap_private(struct vm_area_struct *vma,
return 0; return 0;
error_free: error_free:
free_page_series(region->vm_start, region->vm_end); free_page_series(region->vm_start, region->vm_top);
region->vm_start = vma->vm_start = 0; region->vm_start = vma->vm_start = 0;
region->vm_end = vma->vm_end = 0; region->vm_end = vma->vm_end = 0;
region->vm_top = 0; region->vm_top = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment