[PATCH v2] lib/test_hmm: fix error path in dmirror_devmem_fault()

From: liuqiangneo

Date: Fri May 15 2026 - 03:04:41 EST


From: Qiang Liu <liuqiang@xxxxxxxxxx>

Handle migrate_vma_setup() failure via goto err for unified cleanup.

Reviewed-by: Alistair Popple <apopple@xxxxxxxxxx>
Signed-off-by: Qiang Liu <liuqiang@xxxxxxxxxx>
---
v2:
- Add comment explaining migrate_vma_setup() won't fail in practice
- https://lore.kernel.org/all/20260514025328.21175-1-liuqiangneo@xxxxxxx/
---
lib/test_hmm.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/lib/test_hmm.c b/lib/test_hmm.c
index 213504915737..a232b34f8d3b 100644
--- a/lib/test_hmm.c
+++ b/lib/test_hmm.c
@@ -1679,8 +1679,14 @@ static vm_fault_t dmirror_devmem_fault(struct vm_fault *vmf)
if (order)
args.flags |= MIGRATE_VMA_SELECT_COMPOUND;

- if (migrate_vma_setup(&args))
- return VM_FAULT_SIGBUS;
+ /*
+ * In practice migrate_vma_setup() should never fail unless the
+ * test is wrong as it just tests some static VMA properties.
+ */
+ if (migrate_vma_setup(&args)) {
+ ret = VM_FAULT_SIGBUS;
+ goto err;
+ }

ret = dmirror_devmem_fault_alloc_and_copy(&args, dmirror);
if (ret)
--
2.43.0