Re: mm: BUG in do_huge_pmd_wp_page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 15 May 2014, Sasha Levin wrote:
> On 05/15/2014 01:37 PM, Hugh Dickins wrote:
> > On Thu, 15 May 2014, Sasha Levin wrote:
> >> On 04/07/2014 04:11 PM, Kirill A. Shutemov wrote:
> >>> On Mon, Apr 07, 2014 at 03:40:46PM -0400, Sasha Levin wrote:
> >>>>> It also breaks fairly quickly under testing because:
> >>>>>
> >>>>> On 04/07/2014 10:48 AM, Kirill A. Shutemov wrote:
> >>>>>>> +	if (IS_ENABLED(CONFIG_DEBUG_PAGEALLOC)) {
> >>>>>>> +		spin_lock(ptl);
> >>>>>
> >>>>> ^ We go into atomic
> >>>>>
> >>>>>>> +		if (unlikely(!pmd_same(*pmd, orig_pmd)))
> >>>>>>> +			goto out_race;
> >>>>>>> +	}
> >>>>>>> +
> >>>>>>>  	if (!page)
> >>>>>>>  		clear_huge_page(new_page, haddr, HPAGE_PMD_NR);
> >>>>>>>  	else
> >>>>>>>  		copy_user_huge_page(new_page, page, haddr, vma, HPAGE_PMD_NR);
> >>>>>
> >>>>> copy_user_huge_page() doesn't like running in atomic state,
> >>>>> and asserts might_sleep().
> >>> Okay, I'll try something else.
> >>
> >> I've Cc'ed Josh Boyer to this since it just occurred to me that Fedora
> >> is running with CONFIG_DEBUG_VM set, where this bug is rather easy to
> >> trigger.
> >>
> >> This issue was neglected because it triggers only on CONFIG_DEBUG_VM builds,
> >> but with Fedora running that, maybe it shouldn't be?
> > 
> > But it triggers only on CONFIG_DEBUG_PAGEALLOC builds, doesn't it?
> > I hope Fedora doesn't go out with that enabled.
> 
> Ow, it needs DEBUG_PAGEALLOC too? I forgot about that one.

Yes.  And furthermore, whereas many DEBUG_PAGEALLOC reports are early
warnings of real problems in non-DEBUG_PAGEALLOC kernels, this one is
not.  It's a case where the non-DEBUG_PAGEALLOC kernel is correct, and
the DEBUG_PAGEALLOC kernel too strict.  Fixable, but not yet in a way
that satisfied Kirill or me.

> 
> No problem for Fedora then, sorry for the noise :(

Oh, this is much more welcome noise than your usual bug reports :)

Hugh

--
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>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]