[PATCH] msync: fix return value
authorAndrew Morton <akpm@osdl.org>
Fri, 24 Mar 2006 11:18:14 +0000 (03:18 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 24 Mar 2006 15:33:26 +0000 (07:33 -0800)
commit676758bdb7bfca8413a85203921746f446e237be
tree23c731f429652e16f2cdba98cd503eaa059f929b
parent707c21c848deeb0200ba3f07e4ba90e6dc419c2f
[PATCH] msync: fix return value

msync() does a strange thing.  Essentially:

vma = find_vma();
for ( ; ; ) {
if (!vma)
return -ENOMEM;
...
vma = vma->vm_next;
}

so an msync() request which starts within or before a valid VMA and which ends
within or beyond the final VMA will incorrectly return -ENOMEM.

Fix.

Cc: Hugh Dickins <hugh@veritas.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
mm/msync.c