But if so, SuS is _very_ _very_ wrong.
The fact is, if you use something like vm86 mode, you absolutely _need_
to be able to explicitly mmap at address 0.
So it is correct (and in fact there is no other sane way to do it) to
say
addr = mmap(NULL, 1024*1024,
PROT_READ | PROT_WRITE ,
MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED,
-1, 0);
and if SuS says that mmap must not return NULL for this case, then SuS
is so full of sh*t that it's not worth worrying about.
In short, under Linux 0 _is_, and will always be (at least on x86) a
perfectly valid return address from mmap() and friends. It's only going
to be returned when you explicitly ask for it with MAP_FIXED, but it
absolutely is a valid return.
Linus
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/