Messages in this thread | | | Date | Thu, 3 Dec 2009 09:34:33 +0800 | From | Wu Fengguang <> | Subject | Re: [PATCH 02/24] migrate: page could be locked by hwpoison, dont BUG() |
| |
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
| |