Fix up mm/mincore.c error value cases
authorLinus Torvalds <torvalds@woody.osdl.org>
Sun, 17 Dec 2006 00:01:50 +0000 (16:01 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Sun, 17 Dec 2006 00:01:50 +0000 (16:01 -0800)
commit4fb23e439ce09157d64b89a21061b9fc08f2b495
tree168d6c75d6e0e7de5056b2a4736994c434e975dc
parentc7ef259bfb4084d8806dfff9eb8bfc6e82bb8c45
Fix up mm/mincore.c error value cases

Hugh Dickins correctly points out that mincore() is actually _supposed_
to fail on an unmapped hole in the user address space, rather than
return valid ("empty") information about the hole.  This just simplifies
the problem further (I had been misled by our previous confusing and
complicated way of doing mincore()).

Also, in the unlikely situation that we can't allocate a temporary
kernel buffer, we should actually return EAGAIN, not ENOMEM, to keep the
"unmapped hole" and "allocation failure" error cases separate.

Finally, add a comment about our stupid historical lack of support for
anonymous mappings.  I'll fix that if somebody reminds me after 2.6.20
is out.

Acked-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
mm/mincore.c