Re: [next-20160615] kernel BUG at mm/rmap.c:1251!

From: Sergey Senozhatsky
Date: Thu Jun 16 2016 - 06:20:18 EST


On (06/16/16 19:12), Minchan Kim wrote:
[..]
> > > > > Is this?
> > > > > page_add_new_anon_rmap:
> > > > > VM_BUG_ON_VMA(address < vma->vm_start || address >= vma->vm_end, vma)
> > > > > [...]
> > > >
> > > > I think it is
> > > >
> > > > 1248 void page_add_new_anon_rmap(struct page *page,
> > > > 1249 struct vm_area_struct *vma, unsigned long address, bool compound)
> > > > 1250 {
> > > > 1251 int nr = compound ? hpage_nr_pages(page) : 1;
> > > > 1252
> > > > 1253 VM_BUG_ON_VMA(address < vma->vm_start || address >= vma->vm_end, vma);
> > > > 1254 __SetPageSwapBacked(page);
> > > >
> > > > > > [ 272.727842] BUG: sleeping function called from invalid context at include/linux/sched.h:2960
> > > > >
> > > > > If yes then I am not sure we can do much about the this part. BUG_ON in
> > > > > an atomic context is unfortunate but the BUG_ON points out a real bug so
> > > > > we shouldn't drop it because of the potential atomic context. The above
> > > > > VM_BUG_ON should definitely be addressed. I thought that Vlastimil has
> > > > > pointed out some issues with the khugepaged lock inconsistencies which
> > > > > might lead to issues like this.
> > > >
> > > > collapse_huge_page() ->mmap_sem fixup patch (http://marc.info/?l=linux-mm&m=146495692807404&w=2)
> > > > is in next-20160615. or do you mean some other patch?
> > >
> > > Yes that's what I meant, but I haven't reviewed the patch to see whether
> > > it is correct/complete. It would be good to see whether the issue is
> > > related to those changes.
> >
> > I'll copy-paste one more backtrace I swa today [originally was posted to another
> > mail thread].
>
> Please, look at 20160616100932.GS17127@bbox">http://lkml.kernel.org/r/20160616100932.GS17127@bbox

oh, yes, sorry. sure, scheduled for testing a bit later today.

Cc Joonsoo, so we can keep the discussion in one place.

-ss