Re: [PATCH -fixes] mm: Add a call to flush_cache_vmap() in vmap_pfn()

From: Dylan Jhong
Date: Thu Aug 10 2023 - 04:44:01 EST


On Wed, Aug 09, 2023 at 06:46:33PM +0200, Alexandre Ghiti wrote:
> flush_cache_vmap() must be called after new vmalloc mappings are
> installed in the page table in order to allow architectures to make sure
> the new mapping is visible.
>
> Fixes: 3e9a9e256b1e ("mm: add a vmap_pfn function")
> Reported-by: Dylan Jhong <dylan@xxxxxxxxxxxxx>
> Closes: https://lore.kernel.org/linux-riscv/ZMytNY2J8iyjbPPy@xxxxxxxxxxxxxxxxxxxx/
> Signed-off-by: Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>
> ---
> mm/vmalloc.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/mm/vmalloc.c b/mm/vmalloc.c
> index 93cf99aba335..228a4a5312f2 100644
> --- a/mm/vmalloc.c
> +++ b/mm/vmalloc.c
> @@ -2979,6 +2979,10 @@ void *vmap_pfn(unsigned long *pfns, unsigned int count, pgprot_t prot)
> free_vm_area(area);
> return NULL;
> }
> +
> + flush_cache_vmap((unsigned long)area->addr,
> + (unsigned long)area->addr + count * PAGE_SIZE);
> +
> return area->addr;
> }
> EXPORT_SYMBOL_GPL(vmap_pfn);
> --
> 2.39.2
>

Hi Alex,

Looks good to me. Thanks.
Reviewed-by: Dylan Jhong <dylan@xxxxxxxxxxxxx>

Best regards,
Dylan Jhong