mirror of https://gitee.com/openkylin/linux.git
merge do_mremap() into sys_mremap()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
657bec850f
commit
63a81db132
19
mm/mremap.c
19
mm/mremap.c
|
@ -432,15 +432,17 @@ static int vma_expandable(struct vm_area_struct *vma, unsigned long delta)
|
||||||
* MREMAP_FIXED option added 5-Dec-1999 by Benjamin LaHaise
|
* MREMAP_FIXED option added 5-Dec-1999 by Benjamin LaHaise
|
||||||
* This option implies MREMAP_MAYMOVE.
|
* This option implies MREMAP_MAYMOVE.
|
||||||
*/
|
*/
|
||||||
unsigned long do_mremap(unsigned long addr,
|
SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len,
|
||||||
unsigned long old_len, unsigned long new_len,
|
unsigned long, new_len, unsigned long, flags,
|
||||||
unsigned long flags, unsigned long new_addr)
|
unsigned long, new_addr)
|
||||||
{
|
{
|
||||||
struct mm_struct *mm = current->mm;
|
struct mm_struct *mm = current->mm;
|
||||||
struct vm_area_struct *vma;
|
struct vm_area_struct *vma;
|
||||||
unsigned long ret = -EINVAL;
|
unsigned long ret = -EINVAL;
|
||||||
unsigned long charged = 0;
|
unsigned long charged = 0;
|
||||||
|
|
||||||
|
down_write(¤t->mm->mmap_sem);
|
||||||
|
|
||||||
if (flags & ~(MREMAP_FIXED | MREMAP_MAYMOVE))
|
if (flags & ~(MREMAP_FIXED | MREMAP_MAYMOVE))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
@ -538,17 +540,6 @@ unsigned long do_mremap(unsigned long addr,
|
||||||
out:
|
out:
|
||||||
if (ret & ~PAGE_MASK)
|
if (ret & ~PAGE_MASK)
|
||||||
vm_unacct_memory(charged);
|
vm_unacct_memory(charged);
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len,
|
|
||||||
unsigned long, new_len, unsigned long, flags,
|
|
||||||
unsigned long, new_addr)
|
|
||||||
{
|
|
||||||
unsigned long ret;
|
|
||||||
|
|
||||||
down_write(¤t->mm->mmap_sem);
|
|
||||||
ret = do_mremap(addr, old_len, new_len, flags, new_addr);
|
|
||||||
up_write(¤t->mm->mmap_sem);
|
up_write(¤t->mm->mmap_sem);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue