Re: [PATCH v3 0/3] Encapsulate PTE contents from non-arch code

From: Muchun Song
Date: Mon Jun 12 2023 - 22:17:25 EST




> On Jun 12, 2023, at 23:15, Ryan Roberts <ryan.roberts@xxxxxxx> wrote:
>
> Hi All,
>
> (Including wider audience this time since changes touch a fair few subsystems)
>
> This is the second half of v3 of a series to improve the encapsulation of pte
> entries by disallowing non-arch code from directly dereferencing pte_t pointers.
> Based on earlier feedback, I split the series in 2; the first part, fixes for
> existing bugs, was already posted at [3] and merged into mm-stable. This second
> part contains the conversion from direct dereferences to instead use
> ptep_get()/ptep_get_lockless().
>
> See the v1 cover letter at [1] for rationale for this work.
>
> Based on feedback at v2, I've removed the new ptep_deref() helper I originally
> added, and am now using the existing ptep_get() and ptep_get_lockless() helpers.

When I first saw the name of ptep_get()/ptep_get_lockless(), I thought
the pte seems like to be protected by the refcount mechanism (Why I have
this though? Because Qi Zheng has proposed a approach to free pte page tables
by using the refcount mechanism [1]). And your proposed name of ptep_deref()
is intuitive for me, so I have another thought, should we rename ptep_get()
to ptep_deref()? Just a thought from me, I'd like to hear if others object.

Thanks.

[1] https://lore.kernel.org/lkml/20211110105428.32458-7-zhengqi.arch@xxxxxxxxxxxxx/