On Sat, Dec 15, 2018 at 04:01:30PM +0100, Richard Weinberger wrote:
The page migration code assumes that a page with PG_private set has its page count elevated by 1. UBIFS never did this and therefore the migration code was unable to migrate some pages owned by UBIFS. The lead to situations where the CMA memory allocator failed to allocate memory.
Fix this by using get/put_page when changing PG_private.
Looks good to me.
Acked-by: Kirill A. Shutemov kirill.shutemov@linux.intel.com
Cc: stable@vger.kernel.org Cc: zhangjun openzhangj@gmail.com Fixes: 4ac1c17b2044 ("UBIFS: Implement ->migratepage()")
It is fair to reference the commit here. But I believe the bug itself predates the commit and relevant not only for migration.
We might make it clear in the commit message.