Skip to content

Commit

Permalink
NOMMU: Ignore mmap() address param as it is a hint
Browse files Browse the repository at this point in the history
Ignore the address parameter given to NOMMU mmap() as it is a hint, rather
than giving an error if it's non-zero.  MAP_FIXED still gets an error.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
David Howells authored and Linus Torvalds committed Sep 25, 2009
1 parent 934831d commit 06aab5a
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions mm/nommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -826,7 +826,7 @@ static int validate_mmap_request(struct file *file,
int ret;

/* do the simple checks first */
if (flags & MAP_FIXED || addr) {
if (flags & MAP_FIXED) {
printk(KERN_DEBUG
"%d: Can't do fixed-address/overlay mmap of RAM\n",
current->pid);
Expand Down Expand Up @@ -1182,9 +1182,6 @@ unsigned long do_mmap_pgoff(struct file *file,

kenter(",%lx,%lx,%lx,%lx,%lx", addr, len, prot, flags, pgoff);

if (!(flags & MAP_FIXED))
addr = round_hint_to_min(addr);

/* decide whether we should attempt the mapping, and if so what sort of
* mapping */
ret = validate_mmap_request(file, addr, len, prot, flags, pgoff,
Expand All @@ -1194,6 +1191,9 @@ unsigned long do_mmap_pgoff(struct file *file,
return ret;
}

/* we ignore the address hint */
addr = 0;

/* we've determined that we can make the mapping, now translate what we
* now know into VMA flags */
vm_flags = determine_vm_flags(file, prot, flags, capabilities);
Expand Down

0 comments on commit 06aab5a

Please sign in to comment.