Re: mm: mmap_sem lock assertion failure in __mlock_vma_pages_range

From: Michel Lespinasse
Date: Tue Mar 11 2014 - 18:00:00 EST


On Tue, Mar 11, 2014 at 1:07 PM, Davidlohr Bueso <davidlohr@xxxxxx> wrote:
> On Tue, 2014-03-11 at 15:39 -0400, Sasha Levin wrote:

>> I've ended up deleting the log file by mistake, but this bug does seem to be important
>> so I'd rather not wait before the same issue is triggered again.
>>
>> The call chain is:
>>
>> mlock (mm/mlock.c:745)
>> __mm_populate (mm/mlock.c:700)
>> __mlock_vma_pages_range (mm/mlock.c:229)
>> VM_BUG_ON(!rwsem_is_locked(&mm->mmap_sem));
>
> So __mm_populate() is only called by mlock(2) and this VM_BUG_ON seems
> wrong as we call it without the lock held:

Not related to the bug, but please note that __mm_populate() is public
and has other call sites outside of mlock.c - namely, it is called
during mmap with MAP_POPULATE.

--
Michel "Walken" Lespinasse
A program is never fully debugged until the last user dies.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/