Re: [PATCH] mm/rmap: fix BUG at rmap_walk

From: Sasha Levin
Date: Wed Dec 18 2013 - 19:43:14 EST


On 12/18/2013 07:28 PM, Andrew Morton wrote:
On Thu, 19 Dec 2013 08:16:35 +0800 Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx> wrote:

page_get_anon_vma() called in page_referenced_anon() will lock and
increase the refcount of anon_vma, page won't be locked for anonymous
page. This patch fix it by skip check anonymous page locked.

[ 588.698828] kernel BUG at mm/rmap.c:1663!

Why is all this suddenly happening. Did we change something, or did a
new test get added to trinity?

Dave has improved mmap testing in trinity, maybe it's related?

Or if there is no reason why the page must be locked for
rmap_walk_ksm() and rmap_walk_file(), let's just remove rmap_walk()'s
VM_BUG_ON()? And rmap_walk_ksm()'s as well - it's duplicative anyway.

IMO, removing all these VM_BUG_ON()s (which is happening quite often recently) will
lead to having bugs sneak by causing obscure undetected corruption instead of
being very obvious through a BUG.

I know it might be silly, but if we're removing a lot of these - can we "balance"
it back by asking people to introduce new VM_BUG_ON()s, along with a short comment
explaining why to places where these assumptions are going unchecked and are obvious
to them but not to many others?

I'll be more than happy to fuzz through patches that do that to make sure
we catch corner cases.


Thanks,
Sasha

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