[PATCH RFC 09/11] misc/sgi-gru: use ptep_get() for page-table reads
Muhammad Usama Anjum <[email protected]> Mon, 27 Jul 2026 17:47:00 +0100
| Newsgroups | org.kernel.vger.linux-parisc,dev.linux.lists.damon,org.freedesktop.lists.dri-devel,org.freedesktop.lists.intel-gfx,org.kernel.vger.bpf,org.kernel.vger.linux-arch,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-perf-users,org.kernel.vger.linux-trace-kernel,org.kvack.linux-mm,org.xenproject.lists.xen-devel |
|---|---|
| Message-ID | <[email protected]> |
A leaf PMD is being read through ptep_get() by treating the PMD address as PTE-sized table storage. ptep_get() now accepts hw_pte_t *, so update the cast accordingly. pte_offset_kernel() also returns hw_pte_t *. Get pte_t value by calling ptep_get(). Signed-off-by: Muhammad Usama Anjum <[email protected]> --- drivers/misc/sgi-gru/grufault.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/misc/sgi-gru/grufault.c b/drivers/misc/sgi-gru/grufault.c index 3557d78ee47a2..ff89d34ad2aa4 100644 --- a/drivers/misc/sgi-gru/grufault.c +++ b/drivers/misc/sgi-gru/grufault.c @@ -228,10 +228,10 @@ static int atomic_pte_lookup(struct vm_area_struct *vma, unsigned long vaddr, goto err; #ifdef CONFIG_X86_64 if (unlikely(pmd_leaf(*pmdp))) - pte = ptep_get((pte_t *)pmdp); + pte = ptep_get((hw_pte_t *)pmdp); else #endif - pte = *pte_offset_kernel(pmdp, vaddr); + pte = ptep_get(pte_offset_kernel(pmdp, vaddr)); if (unlikely(!pte_present(pte) || (write && (!pte_write(pte) || !pte_dirty(pte))))) -- 2.47.3