[PATCH v2] lib/test_hmm: fix garbage pfn and wrong direction in devmem fault debug

liuqiangneo@163.com posted 1 patch 1 month, 2 weeks ago
lib/test_hmm.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
[PATCH v2] lib/test_hmm: fix garbage pfn and wrong direction in devmem fault debug
Posted by liuqiangneo@163.com 1 month, 2 weeks ago
From: Qiang Liu <liuqiang@kylinos.cn>

Move pr_debug() inside the `if (dpage)` block to avoid
printing garbage pfn for NULL dpage, and correct the
direction label from "sys to dev" to "dev to sys".

Assisted-by: Qoder:Qwen-3.8-MAX-Preview
Signed-off-by: Qiang Liu <liuqiang@kylinos.cn>
---
v1->v2:
- Rebase from mm-everything to mm-new.
- Change commit message.

Link to v1:
https://lore.kernel.org/all/20260811092256.102101-1-liuqiangneo@163.com/
---
 lib/test_hmm.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/test_hmm.c b/lib/test_hmm.c
index 6205fb313bd0..7c4d10eae6fe 100644
--- a/lib/test_hmm.c
+++ b/lib/test_hmm.c
@@ -1151,10 +1151,9 @@ static vm_fault_t dmirror_devmem_fault_alloc_and_copy(struct migrate_vma *args,
 		if (!dpage && !order)
 			return VM_FAULT_OOM;
 
-		pr_debug("migrating from sys to dev pfn src: 0x%lx pfn dst: 0x%lx\n",
-				page_to_pfn(spage), page_to_pfn(dpage));
-
 		if (dpage) {
+			pr_debug("migrating from dev to sys pfn src: 0x%lx pfn dst: 0x%lx\n",
+					page_to_pfn(spage), page_to_pfn(dpage));
 			lock_page(dpage);
 			*dst |= migrate_pfn(page_to_pfn(dpage));
 		}
-- 
2.43.0


No virus found
		Checked by Hillstone Network AntiVirus
Re: [PATCH v2] lib/test_hmm: fix garbage pfn and wrong direction in devmem fault debug
Posted by Andrew Morton 1 month, 2 weeks ago
On Wed, 12 Aug 2026 17:28:56 +0800 liuqiangneo@163.com wrote:

> From: Qiang Liu <liuqiang@kylinos.cn>
> 
> Move pr_debug() inside the `if (dpage)` block to avoid
> printing garbage pfn for NULL dpage, and correct the
> direction label from "sys to dev" to "dev to sys".
> 
> ...
>
> --- a/lib/test_hmm.c
> +++ b/lib/test_hmm.c
> @@ -1151,10 +1151,9 @@ static vm_fault_t dmirror_devmem_fault_alloc_and_copy(struct migrate_vma *args,
>  		if (!dpage && !order)
>  			return VM_FAULT_OOM;
>  
> -		pr_debug("migrating from sys to dev pfn src: 0x%lx pfn dst: 0x%lx\n",
> -				page_to_pfn(spage), page_to_pfn(dpage));
> -
>  		if (dpage) {
> +			pr_debug("migrating from dev to sys pfn src: 0x%lx pfn dst: 0x%lx\n",
> +					page_to_pfn(spage), page_to_pfn(dpage));
>  			lock_page(dpage);
>  			*dst |= migrate_pfn(page_to_pfn(dpage));

Looks OK to me, thanks.

We could just remove the pr_debug.  I suspect it was a development-time
thing and nobody uses it any more.

Your patch prompted Sashiko to find three possible pre-existing issues
in this code:

	https://sashiko.dev/#/patchset/20260812092856.55296-1-liuqiangneo@163.com