All pastes #24474 Raw Edit

mnemoc

public c v1 · immutable
#24474 ·published 2005-10-02 23:36 UTC
rendered paste body
static inline longexpand_backing_store (struct vm_area_struct *vma, unsigned long address){        unsigned long grow;        grow = PAGE_SIZE >> PAGE_SHIFT;        if (address - vma->vm_start > current->signal->rlim[RLIMIT_STACK].rlim_cur            || (((vma->vm_mm->total_vm + grow) << PAGE_SHIFT) >                current->signal->rlim[RLIMIT_AS].rlim_cur))                return -ENOMEM;#MNEMOC: PAX        if ((vma->vm_flags & VM_LOCKED) &&            ((vma->vm_mm->locked_vm + grow) << PAGE_SHIFT) > current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur &&            !capable(CAP_IPC_LOCK))                return -ENOMEM;#MNEMOC: ORIGINAL#MNEMOC: VSERVER        if (!vx_vmpages_avail(vma->vm_mm, grow) ||                ((vma->vm_flags & VM_LOCKED) &&                !vx_vmlocked_avail(vma->vm_mm, grow)))                return -ENOMEM;#MNEMOC: END        vma->vm_end += PAGE_SIZE;        vx_vmpages_add(vma->vm_mm, grow);        if (vma->vm_flags & VM_LOCKED)                vx_vmlocked_add(vma->vm_mm, grow);        __vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, grow);        return 0;}