summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorKrzysztof Karas <krzysztof.karas@intel.com>2026-05-08 11:02:14 +0300
committerAndi Shyti <andi.shyti@linux.intel.com>2026-05-19 14:29:27 +0300
commit82eb94b1fa1317d470420cccd1da75ff7f1811b3 (patch)
tree765cc925c5f31c315f23cd7d1d8a70cd9fb11a47 /drivers
parente8c3344765aa3f5c36ddbc2ec06a25c118f1bcfb (diff)
downloadlinux-82eb94b1fa1317d470420cccd1da75ff7f1811b3.tar.xz
drm/i915/selftests: Run vma tests only if current->mm is present
This set of tests require userspace memory to map objects, so run them only if this that memory is available. Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-by: Sebastian Brzezinka <sebastian.brzezinka@intel.com> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Reviewed-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Reviewed-by: MichaƂ Grzelak <michal.grzelak@intel.com> Signed-off-by: Andi Shyti <andi.shyti@linux.intel.com> Link: https://lore.kernel.org/r/20260508080214.1979686-3-krzysztof.karas@intel.com
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
index 9d454d0b46f2..d01acfb7d93d 100644
--- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
@@ -1847,11 +1847,12 @@ static int igt_mmap_revoke(void *arg)
int i915_gem_mman_live_selftests(struct drm_i915_private *i915)
{
int ret;
- bool unuse_mm = false;
static const struct i915_subtest tests[] = {
SUBTEST(igt_partial_tiling),
SUBTEST(igt_smoke_tiling),
SUBTEST(igt_mmap_offset_exhaustion),
+ };
+ static const struct i915_subtest vma_tests[] = {
SUBTEST(igt_mmap),
SUBTEST(igt_mmap_migrate),
SUBTEST(igt_mmap_access),
@@ -1859,15 +1860,14 @@ int i915_gem_mman_live_selftests(struct drm_i915_private *i915)
SUBTEST(igt_mmap_gpu),
};
- if (!current->mm) {
- kthread_use_mm(current->active_mm);
- unuse_mm = true;
- }
-
ret = i915_live_subtests(tests, i915);
+ if (ret)
+ return ret;
- if (unuse_mm)
- kthread_unuse_mm(current->active_mm);
+ if (current->mm)
+ ret = i915_live_subtests(vma_tests, i915);
+ else
+ pr_warn("No current->mm to safely borrow userspace memory from. Skipping VMA tests.\n");
return ret;
}