mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* 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®