aboutsummaryrefslogtreecommitdiffstats
path: root/mm/fremap.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-09-24 17:13:57 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-09-24 17:13:57 -0400
commite92b05dec8865619ea2608c5c11a54b01467482f (patch)
tree8de4b388a3d70d068bf6ee0469a56987f68bef5e /mm/fremap.c
parentd1f3e68efb4c98fa229b39ff09a8984ef16cafa4 (diff)
fremap: get rid of broken 'end' variable
Thomas Pollet points out that the 'end' variable is broken. It was computed based on start/size before they were page-aligned, and as such doesn't actually match any of the other actions we take. The overflow test on end was also redundant, since we had already tested it with the properly aligned version. So just get rid of it entirely. The one remaining use for that broken variable can just use 'start+size' like all the other cases already did. Reported-by: Thomas Pollet <thomas.pollet@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/fremap.c')
-rw-r--r--mm/fremap.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/mm/fremap.c b/mm/fremap.c
index 46f5dacf90a2..7b7f852848de 100644
--- a/mm/fremap.c
+++ b/mm/fremap.c
@@ -125,7 +125,6 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
125{ 125{
126 struct mm_struct *mm = current->mm; 126 struct mm_struct *mm = current->mm;
127 struct address_space *mapping; 127 struct address_space *mapping;
128 unsigned long end = start + size;
129 struct vm_area_struct *vma; 128 struct vm_area_struct *vma;
130 int err = -EINVAL; 129 int err = -EINVAL;
131 int has_write_lock = 0; 130 int has_write_lock = 0;
@@ -168,7 +167,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
168 if (!(vma->vm_flags & VM_CAN_NONLINEAR)) 167 if (!(vma->vm_flags & VM_CAN_NONLINEAR))
169 goto out; 168 goto out;
170 169
171 if (end <= start || start < vma->vm_start || end > vma->vm_end) 170 if (start < vma->vm_start || start + size > vma->vm_end)
172 goto out; 171 goto out;
173 172
174 /* Must set VM_NONLINEAR before any pages are populated. */ 173 /* Must set VM_NONLINEAR before any pages are populated. */