All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Muhammad Usama Anjum" <usama.anjum@arm.com>
Cc: linux-perf-users@vger.kernel.org,
	dri-devel@lists.freedesktop.org, damon@lists.linux.dev,
	bpf@vger.kernel.org, intel-gfx@lists.freedesktop.org,
	linux-trace-kernel@vger.kernel.org
Subject: Re: [PATCH v3 4/9] mm: convert PTE table entries in ptep_get()
Date: Tue, 22 Sep 2026 17:25:55 +0000	[thread overview]
Message-ID: <20260922172556.1BE771F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260922-pte0-v3-4-5670b8cb9059@arm.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] mm: build failure in ptep_get_lockless() with ARCH_HAS_HW_PTE_T
--

commit 5a58c0b37be320a1ff8bd51ae9ca94d50bf27375
Author: Muhammad Usama Anjum <usama.anjum@arm.com>

mm: convert PTE table entries in ptep_get()
    
ptep_get() now accepts a pointer to hw_pte_t storage but must continue to
return a software PTE value. Add __pte_from_hw for both generic hw_pte_t
definitions. Read the hw_pte_t table element atomically before converting
it to pte_t.

[ ... ]

> diff --git a/include/linux/pgtable_types.h b/include/linux/pgtable_types.h
> index 07da05d375c2c..d6c5a7548550b 100644
> --- a/include/linux/pgtable_types.h
> +++ b/include/linux/pgtable_types.h
> @@ -8,8 +8,10 @@
>  
>  #ifdef CONFIG_ARCH_HAS_HW_PTE_T
>  typedef struct __hw_pte_t { pte_t __pte; } hw_pte_t;
> +#define __pte_from_hw(pte)	((pte).__pte)

[Severity: Low]
Does this wrapper struct cause a build failure in ptep_get_lockless()
when architectures using CONFIG_GUP_GET_PXX_LOW_HIGH (like x86-32 PAE) 
opt into ARCH_HAS_HW_PTE_T?

When hw_pte_t is a wrapper struct instead of a typedef, the direct member 
access fails to compile:

include/linux/pgtable.h:ptep_get_lockless() {
    ...
	do {
		pte.pte_low = ptep->pte_low;
		smp_rmb();
		pte.pte_high = ptep->pte_high;
		smp_rmb();
	} while (unlikely(pte.pte_low != ptep->pte_low));
    ...
}

Since ptep is a pointer to the wrapper struct, it lacks the pte_low and
pte_high members.

>  #else
>  #define hw_pte_t pte_t
> +#define __pte_from_hw(pte)	(pte)
>  #endif
>  
>  #endif /* !__ASSEMBLY__ */

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260922-pte0-v3-0-5670b8cb9059@arm.com?part=4

  reply	other threads:[~2026-09-22 17:25 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-22 17:12 [PATCH v3 0/9] mm: distinguish HW PTE pointers from SW PTE value pointers Muhammad Usama Anjum
2026-09-22 17:12 ` [PATCH v3 1/9] mm: introduce hw_pte_t for PTE table storage Muhammad Usama Anjum
2026-09-22 17:20   ` sashiko-bot
2026-09-30  4:13   ` Anshuman Khandual
2026-09-30 15:27   ` Zi Yan
2026-09-22 17:12 ` [PATCH v3 2/9] mm: rename pointers to software PTE values as ptentp Muhammad Usama Anjum
2026-09-22 17:21   ` sashiko-bot
2026-09-30  4:20   ` Anshuman Khandual
2026-09-22 17:12 ` [PATCH v3 3/9] mm: use hw_pte_t for generic PTE table storage Muhammad Usama Anjum
2026-09-22 17:27   ` sashiko-bot
2026-09-30  4:35   ` Anshuman Khandual
2026-09-30 17:40     ` Muhammad Usama Anjum
2026-10-01 11:25       ` David Hildenbrand (Arm)
2026-10-01 11:26   ` David Hildenbrand (Arm)
2026-09-22 17:12 ` [PATCH v3 4/9] mm: convert PTE table entries in ptep_get() Muhammad Usama Anjum
2026-09-22 17:25   ` sashiko-bot [this message]
2026-09-30  5:10   ` Anshuman Khandual
2026-09-30 17:46     ` Muhammad Usama Anjum
2026-10-01 11:27   ` David Hildenbrand (Arm)
2026-09-22 17:12 ` [PATCH v3 5/9] mm: convert PTE table entry to pte Muhammad Usama Anjum
2026-09-22 17:19   ` sashiko-bot
2026-10-01 11:17   ` David Hildenbrand (Arm)
2026-10-02 14:57     ` Muhammad Usama Anjum
2026-09-22 17:12 ` [PATCH v3 6/9] mm: add hw_pte_val for HW PTE storage Muhammad Usama Anjum
2026-09-22 17:22   ` sashiko-bot
2026-10-01 11:19   ` David Hildenbrand (Arm)
2026-10-02 14:59     ` Muhammad Usama Anjum
2026-09-22 17:12 ` [PATCH v3 7/9] mm/kasan: use hw_pte_t for the early shadow PTE table Muhammad Usama Anjum
2026-09-22 17:21   ` sashiko-bot
2026-10-01 11:20   ` David Hildenbrand (Arm)
2026-09-22 17:12 ` [PATCH v3 8/9] drm/i915: use hw_pte_t for PTE range callbacks Muhammad Usama Anjum
2026-09-22 17:23   ` sashiko-bot
2026-10-01 11:21   ` David Hildenbrand (Arm)
2026-09-22 17:12 ` [PATCH v3 9/9] xen: " Muhammad Usama Anjum
2026-09-22 17:30   ` sashiko-bot
2026-10-01 11:22   ` David Hildenbrand (Arm)
2026-09-23 23:16 ` ✗ Fi.CI.BUILD: failure for mm: distinguish HW PTE pointers from SW PTE value pointers Patchwork
2026-09-28  7:09 ` [PATCH v3 0/9] " Alexander Gordeev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260922172556.1BE771F000FF@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=damon@lists.linux.dev \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=usama.anjum@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.