arch_rebalance_pgtables call
In order to change the layout of the page tables after an mmap has crossed the adress space limit of the current page table layout a architecture hook in get_unmapped_area is needed. The arguments are the address of the new mapping and the length of it. Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
5e5419734c
commit
08e7d9b557
1 changed files with 5 additions and 1 deletions
|
@ -36,6 +36,10 @@
|
|||
#define arch_mmap_check(addr, len, flags) (0)
|
||||
#endif
|
||||
|
||||
#ifndef arch_rebalance_pgtables
|
||||
#define arch_rebalance_pgtables(addr, len) (addr)
|
||||
#endif
|
||||
|
||||
static void unmap_region(struct mm_struct *mm,
|
||||
struct vm_area_struct *vma, struct vm_area_struct *prev,
|
||||
unsigned long start, unsigned long end);
|
||||
|
@ -1424,7 +1428,7 @@ get_unmapped_area(struct file *file, unsigned long addr, unsigned long len,
|
|||
if (addr & ~PAGE_MASK)
|
||||
return -EINVAL;
|
||||
|
||||
return addr;
|
||||
return arch_rebalance_pgtables(addr, len);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(get_unmapped_area);
|
||||
|
|
Loading…
Reference in a new issue