Re: [PATCH] mm: compaction: Abort compaction if too many pages areisolated and caller is asynchronous

From: Andrea Arcangeli
Date: Tue May 31 2011 - 10:14:40 EST


On Tue, May 31, 2011 at 10:33:40PM +0900, Minchan Kim wrote:
> I checked them before sending patch but I got failed to find strange things. :(

My review also doesn't show other bugs in migrate_pages callers like
that one.

> Now I am checking the page's SwapBacked flag can be changed
> between before and after of migrate_pages so accounting of NR_ISOLATED_XX can
> make mistake. I am approaching the failure, too. Hmm.

When I checked that, I noticed the ClearPageSwapBacked in swapcache if
radix insertion fails, but that happens before adding the page in the
LRU so it shouldn't have a chance to be isolated.

So far I only noticed an unsafe page_count in
vmscan.c:isolate_lru_pages but that should at worst result in a
invalid pointer dereference as random result from that page_count is
not going to hurt and I think it's only a theoretical issue.
--
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/