Re: [PATCH v2 2/5] mm/kmsan: skip vunmap_range_noflush when KMSAN is disabled

From: Dev Jain

Date: Tue Oct 20 2026 - 01:22:16 EST




On 19/10/26 11:15 am, Hao Ge wrote:
> kmsan_vmap_pages_range_noflush() returns 0 when kmsan_enabled is
> false. The unmap side does not, so it still walks the shadow and
> origin page tables even though KMSAN never installed any metadata
> there.
>
> Add the matching early return.
>
> Reported-by: Sashiko <sashiko-bot@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Hao Ge <hao.ge@xxxxxxxxx>
> ---

Reviewed-by: Dev Jain <dev.jain@xxxxxxx>


> mm/kmsan/hooks.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/mm/kmsan/hooks.c b/mm/kmsan/hooks.c
> index a706666db097..107f66841274 100644
> --- a/mm/kmsan/hooks.c
> +++ b/mm/kmsan/hooks.c
> @@ -138,6 +138,9 @@ static unsigned long vmalloc_origin(unsigned long addr)
>
> void kmsan_vunmap_range_noflush(unsigned long start, unsigned long end)
> {
> + if (!kmsan_enabled)
> + return;
> +
> __vunmap_range_noflush(vmalloc_shadow(start), vmalloc_shadow(end));
> __vunmap_range_noflush(vmalloc_origin(start), vmalloc_origin(end));
> flush_cache_vmap(vmalloc_shadow(start), vmalloc_shadow(end));