Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: mpenttil@redhat.com
Cc: dri-devel@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH v14 08/12] mm/hmm: add lazy MMU mode support for migration in HMM pagewalk
Date: Tue, 22 Sep 2026 05:51:38 +0000	[thread overview]
Message-ID: <20260922055138.9A05B1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260922053421.4092027-9-mpenttil@redhat.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] mm: missing TLB flush on hmm_vma_handle_pte error path during migration
--

commit cabe68b53951d20b6fe5d611bd88bef73ab4ed62
Author: Mika Penttilä <mpenttil@redhat.com>

mm/hmm: add lazy MMU mode support for migration in HMM pagewalk

This commit adds calls to lazy_mmu_mode_enable() and lazy_mmu_mode_disable()
while performing migration in the HMM pagewalk paths.

> diff --git a/mm/hmm.c b/mm/hmm.c
> index a1459bd34c04e..a67a23e545512 100644
> --- a/mm/hmm.c
> +++ b/mm/hmm.c

[ ... ]

> @@ -1178,6 +1184,7 @@ static int hmm_vma_walk_pmd(pmd_t *pmdp,
>  		flush_tlb_range(walk->vma, start, addr);

[Severity: High]
Does this skip a necessary TLB flush on the error path during migration?

If hmm_range_fault() with migration enabled successfully unmaps a page in the
loop of hmm_vma_walk_pmd(), and then in the next loop iteration (for the same
PMD), hmm_vma_handle_pte() encounters a page requiring a fault, it drops the
PTE lock and returns an error:

hmm_vma_walk_pmd() {
        ...
        for (; addr < end; addr += PAGE_SIZE, ptep++, hmm_pfns++) {
                r = hmm_vma_handle_pte(walk, addr, end, pmdp, ptep, hmm_pfns);
                if (r) {
                        /* hmm_vma_handle_pte() did pte_unmap() / pte_unmap_unlock */
                        return r;
                }
        ...
}

Because the loop terminates with an immediate return, it completely bypasses
the flush_tlb_range() check shown below. Could this leave stale TLB entries
mapping old physical pages despite the page tables pointing to migration
entries, potentially causing data corruption if writes to the old page are
lost?

>  
>  	if (hmm_vma_walk->ptelocked) {
> +		lazy_mmu_mode_disable();
>  		pte_unmap_unlock(ptep - 1, hmm_vma_walk->ptl);
>  		hmm_vma_walk->ptelocked = false;
>  	} else {

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260922053421.4092027-1-mpenttil@redhat.com?part=8

  reply	other threads:[~2026-09-22  5:51 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-22  5:34 [PATCH 00/12] [PATCH v14 00/12] migrate on fault for device pages mpenttil
2026-09-22  5:34 ` [PATCH v14 01/12] mm/Kconfig: changes for " mpenttil
2026-09-22  5:44   ` sashiko-bot
2026-09-22 22:27   ` Balbir Singh
2026-09-23  5:42     ` Mika Penttilä
2026-09-22  5:34 ` [PATCH v14 02/12] mm: add helper to convert HMM pfn to migrate pfn mpenttil
2026-09-22  5:34 ` [PATCH v14 03/12] mm/hmm: preparations for HMM to participate in migration mpenttil
2026-09-22  5:49   ` sashiko-bot
2026-09-22  5:34 ` [PATCH v14 04/12] mm/hmm: do the plumbing " mpenttil
2026-09-22  5:50   ` sashiko-bot
2026-09-22  5:34 ` [PATCH v14 05/12] mm/hmm: implement folio split for migrate needs in HMM pagewalk mpenttil
2026-09-22  5:47   ` sashiko-bot
2026-09-22  5:34 ` [PATCH v14 06/12] mm/hmm: migrate collection in HMM pagewalk - pte level mpenttil
2026-09-22  5:47   ` sashiko-bot
2026-09-22  5:34 ` [PATCH v14 07/12] mm/hmm: migrate collection in HMM pagewalk - pmd level mpenttil
2026-09-22  5:50   ` sashiko-bot
2026-09-22  5:34 ` [PATCH v14 08/12] mm/hmm: add lazy MMU mode support for migration in HMM pagewalk mpenttil
2026-09-22  5:51   ` sashiko-bot [this message]
2026-09-22  5:34 ` [PATCH v14 09/12] mm/hmm: implement rollback for device page " mpenttil
2026-09-22  5:34 ` [PATCH v14 10/12] mm: enable device page migration from " mpenttil
2026-09-22  5:58   ` sashiko-bot
2026-09-22  5:34 ` [PATCH v14 11/12] lib/test_hmm: add a new testcase for the migrate on fault mpenttil
2026-09-22  6:09   ` sashiko-bot
2026-09-22  5:34 ` [PATCH v14 12/12] Documentation/mm/hmm: document migration through hmm_range_fault() mpenttil
2026-09-22  5:41 ` ✗ CI.checkpatch: warning for Migrate on fault for device pages (rev6) Patchwork
2026-09-22  5:43 ` ✓ CI.KUnit: success " Patchwork
2026-09-22  6:00 ` ✗ CI.checksparse: warning " Patchwork
2026-09-22  7:08 ` ✓ Xe.CI.BAT: success " Patchwork
2026-09-22 15:03 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-09-23  2:27 ` [PATCH 00/12] [PATCH v14 00/12] migrate on fault for device pages Andrew Morton
2026-09-23  5:29   ` Mika Penttilä
2026-09-23 21:19     ` Andrew Morton
2026-09-23 23:24       ` Jason Gunthorpe
2026-09-24  0:14         ` Mika Penttilä
2026-09-24  0:10       ` Mika Penttilä

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=20260922055138.9A05B1F000FF@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=mpenttil@redhat.com \
    --cc=sashiko-reviews@lists.linux.dev \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox