Messages in this thread |  | | From | Pratyush Yadav <> | | Subject | Re: [PATCH v3 5/7] mm/memfd_luo: fix physical address conversion in put_folios cleanup | | Date | Thu, 02 Apr 2026 11:06:23 +0000 |
| |
On Thu, Mar 26 2026, Chenghao Duan wrote:
> In memfd_luo_retrieve_folios()'s put_folios cleanup path: > > 1. kho_restore_folio() expects a phys_addr_t (physical address) but > receives a raw PFN (pfolio->pfn). This causes kho_restore_page() to > check the wrong physical address (pfn << PAGE_SHIFT instead of the > actual physical address). > > 2. This loop lacks the !pfolio->pfn check that exists in the main > retrieval loop and memfd_luo_discard_folios(), which could > incorrectly process sparse file holes where pfn=0. > > Fix by converting PFN to physical address with PFN_PHYS() and adding > the !pfolio->pfn check, matching the pattern used elsewhere in this file. > > This issue was identified by the AI review. > https://sashiko.dev/#/patchset/20260323110747.193569-1-duanchenghao@kylinos.cn > > Signed-off-by: Chenghao Duan <duanchenghao@kylinos.cn>
Reviewed-by: Pratyush Yadav <pratyush@kernel.org>
Andrew, can you please add:
Fixes: b3749f174d68 ("mm: memfd_luo: allow preserving memfd") Cc: stable@vger.kernel.org
[...]
-- Regards, Pratyush Yadav
|  |