All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alistair Popple <apopple@nvidia.com>
To: Ralph Campbell <rcampbell@nvidia.com>
Cc: linux-mm@kvack.org, Felix Kuehling <felix.kuehling@amd.com>,
	Philip Yang <Philip.Yang@amd.com>,
	Jason Gunthorpe <jgg@nvidia.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	stable@vger.kernel.org
Subject: Re: [PATCH] mm/hmm: fault non-owner device private entries
Date: Mon, 25 Jul 2022 19:32:46 +1000	[thread overview]
Message-ID: <878rohbkeg.fsf@nvdebian.thelocal> (raw)
In-Reply-To: <20220722225632.4101276-1-rcampbell@nvidia.com>


Ralph Campbell <rcampbell@nvidia.com> writes:

> If hmm_range_fault() is called with the HMM_PFN_REQ_FAULT flag and a
> device private PTE is found, the hmm_range::dev_private_owner page is
> used to determine if the device private page should not be faulted in.
> However, if the device private page is not owned by the caller,
> hmm_range_fault() returns an error instead of calling migrate_to_ram()
> to fault in the page.

		/*
		 * Never fault in device private pages, but just report
		 * the PFN even if not present.
		 */

This comment needs updating because it will be possible to fault in
device private pages now.

It also looks a bit strange to be checking for device private entries
twice - I think it would be clearer if hmm_is_device_private_entry() is
removed and the ownership check done directly in hmm_vma_handle_pte().

 - Alistair

> Cc: stable@vger.kernel.org
> Fixes: 76612d6ce4cc ("mm/hmm: reorganize how !pte_present is handled in hmm_vma_handle_pte()")
> Signed-off-by: Ralph Campbell <rcampbell@nvidia.com>
> Reported-by: Felix Kuehling <felix.kuehling@amd.com>
> ---
>  mm/hmm.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/mm/hmm.c b/mm/hmm.c
> index 3fd3242c5e50..7db2b29bdc85 100644
> --- a/mm/hmm.c
> +++ b/mm/hmm.c
> @@ -273,6 +273,9 @@ static int hmm_vma_handle_pte(struct mm_walk *walk, unsigned long addr,
>  		if (!non_swap_entry(entry))
>  			goto fault;
>
> +		if (is_device_private_entry(entry))
> +			goto fault;
> +
>  		if (is_device_exclusive_entry(entry))
>  			goto fault;

  parent reply	other threads:[~2022-07-25  9:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-22 22:56 [PATCH] mm/hmm: fault non-owner device private entries Ralph Campbell
2022-07-23 13:32 ` Jason Gunthorpe
2022-07-25 17:54   ` Ralph Campbell
2022-07-25  9:32 ` Alistair Popple [this message]
2022-07-25 17:56   ` Ralph Campbell
2022-07-25 14:08 ` Felix Kuehling
2022-07-25 18:49 ` Andrew Morton
2022-07-25 19:07   ` Ralph Campbell
2022-07-25 22:29     ` Andrew Morton

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=878rohbkeg.fsf@nvdebian.thelocal \
    --to=apopple@nvidia.com \
    --cc=Philip.Yang@amd.com \
    --cc=akpm@linux-foundation.org \
    --cc=felix.kuehling@amd.com \
    --cc=jgg@nvidia.com \
    --cc=linux-mm@kvack.org \
    --cc=rcampbell@nvidia.com \
    --cc=stable@vger.kernel.org \
    /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.