Re: [PATCH] ubifs: Get/put page when changing PG_private

Kirill A. Shutemov
2018-12-21T10:35:38Z

On Fri, Dec 21, 2018 at 09:56:25AM +0100, Richard Weinberger wrote:
> Am Samstag, 15. Dezember 2018, 16:01:30 CET schrieb Richard Weinberger:
> > 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.
> >
> > Cc: <stable@vger.kernel.org>
> > Cc: zhangjun <openzhangj@gmail.com>
> > Fixes: 4ac1c17b2044 ("UBIFS: Implement ->migratepage()")
> > Reported-by: zhangjun <openzhangj@gmail.com>
> > Signed-off-by: Richard Weinberger <richard@nod.at>
>
> FYI, on the XFS side a similar change caused a regression.
> https://marc.info/?l=linux-fsdevel&m=154530861202448&w=2
>
> Until this regression is not fully understood, including the implications
> for UBIFS, I'll not merge this patch.

This looks like a reasonable resolution to me:

http://lkml.kernel.org/r/20181221093919.GA2337@lst.de

But let's wait the inclusion (or objection).

--
Kirill A. Shutemov