[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8fcfe565-4371-47ee-a0de-a9d3e1efa0a1@kernel.org>
Date: Thu, 5 Feb 2026 17:46:18 +0100
From: "David Hildenbrand (Arm)" <david@...nel.org>
To: Lance Yang <lance.yang@...ux.dev>, Dave Hansen <dave.hansen@...el.com>,
Peter Zijlstra <peterz@...radead.org>
Cc: Liam.Howlett@...cle.com, akpm@...ux-foundation.org,
aneesh.kumar@...nel.org, arnd@...db.de, baohua@...nel.org,
baolin.wang@...ux.alibaba.com, boris.ostrovsky@...cle.com, bp@...en8.de,
dave.hansen@...ux.intel.com, dev.jain@....com, hpa@...or.com,
hughd@...gle.com, ioworker0@...il.com, jannh@...gle.com, jgross@...e.com,
kvm@...r.kernel.org, linux-arch@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
lorenzo.stoakes@...cle.com, mingo@...hat.com, npache@...hat.com,
npiggin@...il.com, pbonzini@...hat.com, riel@...riel.com,
ryan.roberts@....com, seanjc@...gle.com, shy828301@...il.com,
tglx@...utronix.de, virtualization@...ts.linux.dev, will@...nel.org,
x86@...nel.org, ypodemsk@...hat.com, ziy@...dia.com
Subject: Re: [PATCH v4 0/3] targeted TLB sync IPIs for lockless page table
On 2/5/26 17:30, Lance Yang wrote:
>
>
> On 2026/2/5 23:41, Dave Hansen wrote:
>> On 2/5/26 07:31, Lance Yang wrote:
>>>
>>> Without IPIs or synchronize_rcu(), IIUC, we have no way to know if there
>>> are ongoing concurrent lockless page-table walks — the walkers just
>>> disable
>>> IRQs and walk.
>>
>> Yeah, but one aim of RCU is ensuring that readers see valid data but not
>> necessarily the most up to date data.
>>
>> Are there cases where ongoing concurrent lockless page-table walks need
>> to see the writes and they can't tolerate seeing valid but slightly
>> stale data?
>
> The issue is we're about to free the page table (e.g.
> pmdp_collapse_flush()).
>
> We have to ensure no walker is still doing a lockless page-table walk
> when the page directories are freed, otherwise we get use-after-free.
Right, and walking a page table that is suddenly no longer a page table
is the real fun :)
... or trying to lookup the page of something that is not even a page.
>
>> Don't forget that we also have pesky concurrent lockless page-table
>> walkers called CPUs. They're extra pesky in that they don't even stop
>> for IPIs. ;)
>
> I assume those walkers that don't disable IRQs only read the PMD and
> don't walk into the table; otherwise the current sync wouldn't work
> for them.
CPU page table walkers are much easier to control in that regard :)
--
Cheers,
David
Powered by blists - more mailing lists