lkml.org 
[lkml]   [2026]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v3 5/7] mm/memfd_luo: fix physical address conversion in put_folios cleanup
Date
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

\
 
 \ /
  Last update: 2026-04-02 13:09    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog