This partially reverts 84638335900f ("mm: rework virtual memory accounting")Before that commit RLIMIT_DATA have control only over size of the brk region. But that change have caused problems with all existing versions of valgrind because they set RLIMIT_DATA to zero for some reason. More over, current check has a major flaw: RLIMIT_DATA in bytes, not pages. So, some problems might have slipped through testing. Let's revert it for now and put back in next release. Signed-off-by: Konstantin Khlebnikov <[email protected]> Link: http://lkml.kernel.org/r/20151228211015.GL2194@uranus Reported-by: Christian Borntraeger <[email protected]> --- mm/mmap.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index 84b12624ceb0..e0cd98c510ba 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -2982,10 +2982,6 @@ bool may_expand_vm(struct mm_struct *mm, vm_flags_t flags, unsigned long npages) if (mm->total_vm + npages > rlimit(RLIMIT_AS) >> PAGE_SHIFT) return false; - if ((flags & (VM_WRITE | VM_SHARED | (VM_STACK_FLAGS & - (VM_GROWSUP | VM_GROWSDOWN)))) == VM_WRITE) - return mm->data_vm + npages <= rlimit(RLIMIT_DATA); - return true; }

