Messages in this thread | | | Date | 01 Jun 2002 13:12:00 +0200 | From | (Kai Henningsen) | Subject | Re: do_mmap |
| |
torvalds@transmeta.com (Linus Torvalds) wrote on 31.05.02 in <ad8bvv$3tr$1@penguin.transmeta.com>:
> In article <1022855243.12888.410.camel@irongate.swansea.linux.org.uk>, > Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: > >On Fri, 2002-05-31 at 14:00, Thomas 'Dent' Mirlacher wrote: > >> and the checks in various places are really strange. - well some > >> places check for: > >> o != NULL > >> o > -1024UL > > > >"Not an error". Its relying as some other bits of code do actually that > >the top mappable user address is never in the top 1K of the address > >space > > > >> is it possible to have 0 as a valid address? - if not, this should > >> be the return on errors. > > > >SuS explicitly says that 0 is not a valid mmap return address. > > But if so, SuS is _very_ _very_ wrong.
[...]
> 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.
Actually, at least SuSv3 does not say any such thing. *What* it says is that the return is either MAP_FAILED or the correct address, and that if it is called *without* MAP_FIXED, then the argument 0 has special meaning, and it won't map something at 0 (and thus return 0) - which, AFAICT, is exactly what we want it to say. Specifically, NULL is *never* an error return value for mmap.
At least, unless we define MAP_FAILED to be NULL - traditionally, it's (void *)-1 probably exactly so it is possible to return an address of 0.
See <http://www.opengroup.org/onlinepubs/007904975/functions/mmap.html>.
MfG Kai - 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/
| |