Messages in this thread Patch in this message | | | Date | Tue, 24 Dec 2013 15:07:05 +0900 | From | Joonsoo Kim <> | Subject | Re: mm: kernel BUG at include/linux/swapops.h:131! |
| |
On Mon, Dec 23, 2013 at 10:01:10PM -0500, Sasha Levin wrote: > On 12/23/2013 09:51 PM, Joonsoo Kim wrote: > >On Mon, Dec 23, 2013 at 12:24:02PM -0500, Sasha Levin wrote: > >>>Ping? > >>> > >>>I've also Cc'ed the "this page shouldn't be locked at all" team. > >Hello, > > > >I can't find the reason of this problem. > >If it is reproducible, how about bisecting? > > While it reproduces under fuzzing it's pretty hard to bisect it with > the amount of issues uncovered by trinity recently. > > I can add any debug code to the site of the BUG if that helps.
Good! It will be helpful to add dump_page() in migration_entry_to_page().
Thanks.
--------8<------ diff --git a/include/linux/swapops.h b/include/linux/swapops.h index c0f7526..f695abc 100644 --- a/include/linux/swapops.h +++ b/include/linux/swapops.h @@ -3,6 +3,7 @@ #include <linux/radix-tree.h> #include <linux/bug.h> +#include <linux/mm.h> /* * swapcache pages are stored in the swapper_space radix tree. We want to @@ -128,6 +129,8 @@ static inline struct page *migration_entry_to_page(swp_entry_t entry) * Any use of migration entries may only occur while the * corresponding page is locked */ + if (!PageLocked(p)) + dump_page(p); BUG_ON(!PageLocked(p)); return p; }
| |