On Mon, 13 Nov 2000, Ralf Baechle wrote:
> > Here is a patch I use since July successfully. We need to wait until
> > 2.4.1 or so (or maybe even 2.5) is released for it to be applied as
> > 2.4.0-test* are currently code-frozen. Maybe we could apply it to our CVS
> > for now? Ralf, what do you think?
>
> There is second interpretation of this problem - the address passed to
> mmap is bogus, so this computation needs to be fixed.
Where is it written mmap() is allowed to fail when a bogus VM address is
passed but MAP_FIXED is not set? I believe mmap() should choose a
different VM address in this case, as long as much enough contiguous VM
space is available anywhere to satisfy the requested length.
Surely, map_segment() (see dl-load.c) might call mmap(0, ...) after
mmap(<some_address>, ...) fails when MAP_FIXED is not set but wouldn't
that be a dirty hack? We'd better fix the kernel.
Maciej
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
|