mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
[PATCH] ppc: make phys_mem_access_prot() work with pfns instead of addresses
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 <[email protected]> Cc: Anton Blanchard <[email protected]> Cc: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
This commit is contained in:
parent
d49b340124
commit
8b150478ae
12 changed files with 21 additions and 23 deletions
|
|
@ -144,7 +144,7 @@ struct machdep_calls {
|
|||
|
||||
/* Get access protection for /dev/mem */
|
||||
pgprot_t (*phys_mem_access_prot)(struct file *file,
|
||||
unsigned long offset,
|
||||
unsigned long pfn,
|
||||
unsigned long size,
|
||||
pgprot_t vma_prot);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue