]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
lib/test_hmm: fix error path in dmirror_devmem_fault()
authorQiang Liu <liuqiang@kylinos.cn>
Fri, 15 May 2026 07:03:11 +0000 (15:03 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 2 Jun 2026 22:22:24 +0000 (15:22 -0700)
Handle migrate_vma_setup() failure via goto err for unified cleanup.

Link: https://lore.kernel.org/20260515070312.130435-1-liuqiangneo@163.com
Signed-off-by: Qiang Liu <liuqiang@kylinos.cn>
Reviewed-by: Alistair Popple <apopple@nvidia.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/test_hmm.c

index 38996c4baa40801396bd3b5e7037c8ad2e1369b0..63bf77dee98702c40dea11cc5a3997cd29812093 100644 (file)
@@ -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)