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

From: Minchan Kim
Date: Tue May 31 2011 - 10:37:47 EST


On Tue, May 31, 2011 at 04:14:02PM +0200, Andrea Arcangeli wrote:
> 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.

True.

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


Yes. You find a new BUG.
It seems to be related to this problem but it should be solved although
it's very rare case.

--
Kind regards
Minchan Kim
--
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/