]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: Return error on non-migratable faults requiring devmem
authorMatthew Brost <matthew.brost@intel.com>
Wed, 17 Jun 2026 13:51:01 +0000 (06:51 -0700)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Thu, 2 Jul 2026 10:29:43 +0000 (12:29 +0200)
Non-migratable faults that require devmem incorrectly jump to the 'out'
label, which squashes the error code intended to be returned to the
upper layers. Fix this by returning -EACCES instead.

Reported-by: Sashiko <sashiko-bot@kernel.org>
Fixes: 4208fac3dce5 ("drm/xe: Add more SVM GT stats")
Cc: stable@vger.kernel.org
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Francois Dugast <francois.dugast@intel.com>
Link: https://patch.msgid.link/20260617135101.1245574-1-matthew.brost@intel.com
(cherry picked from commit c4508edb2c723de93717272488ea65b165637eac)
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
drivers/gpu/drm/xe/xe_svm.c

index e1651e70c8f01b8c589328187728aaa36977c4c3..b1e1ac26c66d99b3dc7b0947372e1d8aad3bf9b6 100644 (file)
@@ -1248,10 +1248,8 @@ retry:
 
        xe_svm_range_fault_count_stats_incr(gt, range);
 
-       if (ctx.devmem_only && !range->base.pages.flags.migrate_devmem) {
-               err = -EACCES;
-               goto out;
-       }
+       if (ctx.devmem_only && !range->base.pages.flags.migrate_devmem)
+               return -EACCES;
 
        if (xe_svm_range_is_valid(range, tile, ctx.devmem_only, dpagemap)) {
                xe_svm_range_valid_fault_count_stats_incr(gt, range);