Commit 8a93258c authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Linus Torvalds

fix bogon in /dev/mem mmap'ing on nommu

While digging through my MAP_FIXED changes, I found that rather obvious
bug in /dev/mem mmap implementation for nommu archs. get_unmapped_area()
is expected to return an address, not a pfn.
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-By: default avatarDavid Howells <dhowells@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 11265420
...@@ -248,7 +248,7 @@ static unsigned long get_unmapped_area_mem(struct file *file, ...@@ -248,7 +248,7 @@ static unsigned long get_unmapped_area_mem(struct file *file,
{ {
if (!valid_mmap_phys_addr_range(pgoff, len)) if (!valid_mmap_phys_addr_range(pgoff, len))
return (unsigned long) -EINVAL; return (unsigned long) -EINVAL;
return pgoff; return pgoff << PAGE_SHIFT;
} }
/* can't do an in-place private mapping if there's no MMU */ /* can't do an in-place private mapping if there's no MMU */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment