From: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> commit 4d88e6f7d5ffc84e6094a47925870f4a130555c2 upstream If CONFIG_BALLOON_COMPACTION=n balloon_page_insert() does not link pages with balloon and doesn't set PagePrivate flag, as a result balloon_page_dequeue() cannot get any pages because it thinks that all of them are isolated. Without balloon compaction nobody can isolate ballooned pages. It's safe to remove this check. Fixes: d6d86c0a7f8d ("mm/balloon_compaction: redesign ballooned pages management"). Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Reported-by: Matt Mullins <mmullins@xxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.17] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> [clean cherry-pick] Signed-off-by: Gavin Guo <gavin.guo@xxxxxxxxxxxxx> --- mm/balloon_compaction.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/balloon_compaction.c b/mm/balloon_compaction.c index d7aae638b585..2ad56effb962 100644 --- a/mm/balloon_compaction.c +++ b/mm/balloon_compaction.c @@ -93,11 +93,13 @@ struct page *balloon_page_dequeue(struct balloon_dev_info *b_dev_info) * to be released by the balloon driver. */ if (trylock_page(page)) { +#ifdef CONFIG_BALLOON_COMPACTION if (!PagePrivate(page)) { /* raced with isolation */ unlock_page(page); continue; } +#endif spin_lock_irqsave(&b_dev_info->pages_lock, flags); balloon_page_delete(page); spin_unlock_irqrestore(&b_dev_info->pages_lock, flags); -- 2.0.0 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html