8b150478ae
Change the phys_mem_access_prot() function to take a pfn instead of an address. This allows mmap64() to work on /dev/mem for addresses above 4G on 32-bit architectures. We start with a pfn in mmap_mem(), so there's no need to convert to an address; in fact, it's actively bad, since the conversion can overflow when the address is above 4G. Similarly fix the ppc32 page_is_ram() function to avoid a conversion to an address by directly comparing to max_pfn. Working with max_pfn instead of high_memory fixes page_is_ram() to give the right answer for highmem pages. Signed-off-by: Roland Dreier <rolandd@cisco.com> Cc: Anton Blanchard <anton@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Paul Mackerras <paulus@samba.org> |
||
---|---|---|
.. | ||
4xx_mmu.c | ||
44x_mmu.c | ||
fault.c | ||
fsl_booke_mmu.c | ||
hash_low_32.S | ||
hash_low_64.S | ||
hash_native_64.c | ||
hash_utils_64.c | ||
hugetlbpage.c | ||
imalloc.c | ||
init_32.c | ||
init_64.c | ||
lmb.c | ||
Makefile | ||
mem.c | ||
mmap.c | ||
mmu_context_32.c | ||
mmu_context_64.c | ||
mmu_decl.h | ||
numa.c | ||
pgtable_32.c | ||
pgtable_64.c | ||
ppc_mmu_32.c | ||
slb_low.S | ||
slb.c | ||
stab.c | ||
tlb_32.c | ||
tlb_64.c |