Re: [PATCH v4 2/2] mm: use clear_user_(high)page() for arch with special user folio handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/7/24 18:16, Zi Yan wrote:
> Some architectures have special handling after clearing user folios:
> architectures, which set cpu_dcache_is_aliasing() to true, require
> flushing dcache; arc, which sets cpu_icache_is_aliasing() to true, changes
> folio->flags to make icache coherent to dcache. So __GFP_ZERO using only
> clear_page() is not enough to zero user folios and clear_user_(high)page()
> must be used. Otherwise, user data will be corrupted.
> 
> Fix it by always clearing user folios with clear_user_(high)page() when
> cpu_dcache_is_aliasing() is true or cpu_icache_is_aliasing() is true.
> Rename alloc_zeroed() to alloc_need_zeroing() and invert the logic to
> clarify its intend.

user_alloc_needs_zeroing() would be perhaps more descriptive?

> Fixes: 5708d96da20b ("mm: avoid zeroing user movable page twice with init_on_alloc=1")
> Reported-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> Closes: https://lore.kernel.org/linux-mm/CAMuHMdV1hRp_NtR5YnJo=HsfgKQeH91J537Gh4gKk3PFZhSkbA@xxxxxxxxxxxxxx/
> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> Signed-off-by: Zi Yan <ziy@xxxxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux