Subject: Re: [PATCH] arm64: tlb: Flush walk cache when unsharing PMD tables

From: Catalin Marinas <[email-masked]>
Date: Tue, 26 May 2026 14:01:20 +0100

On Mon, May 25, 2026 at 05:20:14PM +0800, Zeng Heng wrote:
> On 2026/5/22 18:42, Catalin Marinas wrote:
> > On Thu, 21 May 2026 15:30:11 +0800, Zeng Heng wrote:
> > > When huge_pmd_unshare() is called to unshare a PMD table, the
> > > tlb_unshare_pmd_ptdesc() function sets tlb->unshared_tables=true
> > > but the aarch64 tlb_flush() only checked tlb->freed_tables to
> > > determine whether to use TLBF_NONE (vae1is, invalidates walk
> > > cache) or TLBF_NOWALKCACHE (vale1is, leaf-only).
> > > 
> > > This caused the stale PMD page table entry to remain in the walk cache
> > > after unshare, potentially leading to incorrect page table walks.
> > > 
> > > [...]
> > Applied to arm64 (for-next/fixes), thanks!
> > 
> > [1/1] arm64: tlb: Flush walk cache when unsharing PMD tables
> >        https://git.kernel.org/arm64/c/c2ff4764e03e
> 
> This original issue was reported by our customer, who also participated
> in the root cause analysis and resolution.
> 
> Could you please help add the below tags:
> 
> Co-developed-by: Xue Xiaowei <[email-masked]>
> Signed-off-by: Xue Xiaowei <[email-masked]>
> 
> Thank you in advance.

Too late unfortunately, the pull request went in on Friday. It will be
in the list archives though.

-- 
Catalin