On Mon 14-12-15 14:14:41, Andrey Ryabinin wrote: > 2015-12-14 13:57 GMT+03:00 Michal Hocko <mhocko@xxxxxxx>: > > On Mon 14-12-15 13:13:22, Andrey Ryabinin wrote: > >> 2015-12-14 13:05 GMT+03:00 Michal Hocko <mhocko@xxxxxxx>: > >> > On Mon 14-12-15 11:24:33, Kirill A. Shutemov wrote: > >> >> On Thu, Dec 10, 2015 at 05:48:01PM +0200, Mika Westerberg wrote: > >> >> > Hi Kirill, > >> >> > > >> >> > I got following crash on my desktop machine while building swift. It > >> >> > reproduces pretty easily on 4.4-rc4. > >> >> > > >> >> > Before it happens the ld process is killed by OOM killer. I attached the > >> >> > whole dmesg. > >> >> > > >> >> > [ 254.740603] page:ffffea00111c31c0 count:2 mapcount:0 mapping: (null) index:0x0 > >> >> > [ 254.740636] flags: 0x5fff8000048028(uptodate|lru|swapcache|swapbacked) > >> >> > [ 254.740655] page dumped because: VM_BUG_ON_PAGE(!PageLocked(page)) > >> >> > [ 254.740679] ------------[ cut here ]------------ > >> >> > [ 254.740690] kernel BUG at mm/memcontrol.c:5270! > >> >> > >> >> > >> >> Hm. I don't see how this can happen. > >> > > >> > What a coincidence. I have just posted a similar report: > >> > http://lkml.kernel.org/r/20151214100156.GA4540@xxxxxxxxxxxxxx except I > >> > have hit the VM_BUG_ON from a different path. My suspicion is that > >> > somebody unlocks the page while we are waiting on the writeback. > >> > I am trying to reproduce this now. > >> > >> Guys, this is fixed in rc5 - dfd01f026058a ("sched/wait: Fix the > >> signal handling fix"). > >> http://lkml.kernel.org/r/<20151212162342.GF11257@xxxxxxxxxxxxxxxxxxx> > > > > Hmm, so you think that some callpath was doing wait_on_page_locked and > > the above bug would allow a race and then unlock the page under our > > feet? > > It rather more simple, read report carefully from the link I gave. > __wait_on_bit_lock() in __lock_page() could just return -EINTR and > leave the page unlocked. > So in rc4 lock_page() simply didn't work (sometimes). Ohhh, right you are! Thanks for the clarification. -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>