Re: Understanding Linux addr space, malloc, and heap

From: Alex Bligh - linux-kernel
Date: Fri Oct 21 2005 - 10:38:25 EST




--On 21 October 2005 17:22 +0200 Arjan van de Ven <arjan@xxxxxxxxxxxxx> wrote:

Ok I meant in the "while adhering to the standard" :)

More precisely, as per the man page:
POSIX.1b says that mprotect can be used only on regions of memory
obtained from mmap(2).

But what is interesting (if anything) is this:
ERRORS
EINVAL addr is not a valid pointer, or not a multiple of
PAGESIZE.

So if he calls mprotect with memory allocated by malloc (which should
fail), why doesn't he get EINVAL? He says it returns 0 (meaning it
succeeded). Which it shouldn't (unless he is stupendously lucky in
malloc's allocation, in which case it should work).

--
Alex Bligh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/