Re: [PATCH 02/24] migrate: page could be locked by hwpoison, dontBUG()

From: Wu Fengguang
Date: Wed Dec 02 2009 - 20:34:42 EST


On Wed, Dec 02, 2009 at 10:50:10PM +0800, Christoph Lameter wrote:
> On Wed, 2 Dec 2009, Wu Fengguang wrote:
>
> > mm/migrate.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > --- linux-mm.orig/mm/migrate.c 2009-11-02 10:18:45.000000000 +0800
> > +++ linux-mm/mm/migrate.c 2009-11-02 10:26:16.000000000 +0800
> > @@ -556,7 +556,7 @@ static int move_to_new_page(struct page
> > * holding a reference to the new page at this point.
> > */
> > if (!trylock_page(newpage))
> > - BUG();
> > + return -EAGAIN; /* got by hwpoison */
> >
> > /* Prepare mapping for the new page.*/
> > newpage->index = page->index;
>
> The error handling code in umap_and_move() assumes that the page is
> locked upon return from move_to_new_page() even if it failed.
>
> If you return EAGAIN then it may try to unlock a page that is not
> locked.

Ah yes, thanks! We could fix it with more changes, however it seems
better to just drop this patch.

Thanks,
Fengguang
--
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/