Messages in this thread | | | Subject | Re: [PATCH] ubifs: Get/put page when changing PG_private | From | zhangjun <> | Date | Tue, 25 Dec 2018 10:42:37 +0800 |
| |
On 2018/12/21 下午4:56, 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. > > Thanks, > //richard > > Hello,richard
Before fully understanding this regression, in order to fix the bug of cma_alloc(), submit a conservative patch that modifies count in iomap_migrate_page(). Can you consider merging first?
https://marc.info/?l=linux-kernel&m=154473132332661&w=2
Thanks //zhangjun
| |