* minor mmap bug ?
@ 2001-10-04 3:00 John Levon
0 siblings, 0 replies; only message in thread
From: John Levon @ 2001-10-04 3:00 UTC (permalink / raw)
To: linux-kernel
2.4.10
In do_mmap_pgoff() :
422 addr = get_unmapped_area(file, addr, len, pgoff, flags);
423 if (addr & ~PAGE_MASK)
424 return addr;
in get_unmapped_area() :
621 if (flags & MAP_FIXED) {
622 if (addr > TASK_SIZE - len)
623 return -EINVAL;
624 if (addr & ~PAGE_MASK)
625 return -EINVAL;
626 return addr;
627 }
So it seems that if we hit the first case (addr > TASK_SIZE - len),
we don't return with EINVAL immediately. This code is a little weird anyway.
Is this a bug ?
Also, what's the reason for :
405 if ((len = PAGE_ALIGN(len)) == 0)
406 return addr;
Also, shouldn't calc_vm_flags() mention MAP_LOCKED and the others specifically ?
The current "oh, it happens to be the same value" is distinctly non-obvious to me.
Also, why do several (all ?) of the do_mmap2()s do this :
51 flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);
Is it something to do with mm->def_flags ?
thanks
john
--
" It is quite humbling to realize that the storage occupied by the longest line
from a typical Usenet posting is sufficient to provide a state space so vast
that all the computation power in the world can not conquer it."
- Dave Wallace
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-10-04 3:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-10-04 3:00 minor mmap bug ? John Levon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®