[Intel-gfx] [RFC] drm/i915: Handle E2BIG error in i915_gem_fault

Michel Thierry michel.thierry at intel.com
Wed Sep 9 03:29:52 PDT 2015


i915_gem_object_bind_to_vm returns -E2BIG when the user tries to bind an
object larger than the aperture, but i915_gem_fault does not handle this
return code:

[501906.530985] gem_mmap_gtt: starting subtest big-bo-tiledX
[501906.541992] gem_mmap_gtt (22362): drop_caches: 3
[501906.610774] WARNING: CPU: 2 PID: 22362 at
drivers/gpu/drm/i915/i915_gem.c:1880 i915_gem_fault+0x24f/0x470 [i915]()
[501906.623568] unhandled error in i915_gem_fault: -7
[501906.825115] Call Trace:
[501906.830322]  [<ffffffff8178ffcc>] dump_stack+0x45/0x57
[501906.838589]  [<ffffffff810759aa>] warn_slowpath_common+0x8a/0xc0
[501906.847846]  [<ffffffff81075a26>] warn_slowpath_fmt+0x46/0x50
[501906.856776]  [<ffffffffc079591f>] i915_gem_fault+0x24f/0x470 [i915]
[501906.866276]  [<ffffffff8119e11d>] __do_fault+0x3d/0xa0
[501906.874464]  [<ffffffff81068cc0>] ? pte_alloc_one+0x30/0x50
[501906.883169]  [<ffffffff811a26a7>] handle_mm_fault+0xe27/0x1810
[501906.892202]  [<ffffffff81306e8a>] ? security_mmap_file+0xca/0xe0
[501906.900389]  [<ffffffff811fb6ad>] ? do_vfs_ioctl+0x2cd/0x4b0
[501906.908143]  [<ffffffff81063ada>] __do_page_fault+0x19a/0x430
[501906.916024]  [<ffffffff81063d92>] do_page_fault+0x22/0x30
[501906.923532]  [<ffffffff81799248>] page_fault+0x28/0x30

RFC about the error code that should be returned by i915_gem_fault.

Testcase: igt/gem_mmap_gtt/big-bo-tiledXY
Reported-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
Signed-off-by: Michel Thierry <michel.thierry at intel.com>
---
 drivers/gpu/drm/i915/i915_gem.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 352ccd5..3e00f72 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1869,6 +1869,7 @@ out:
 		 */
 		ret = VM_FAULT_NOPAGE;
 		break;
+	case -E2BIG:
 	case -ENOMEM:
 		ret = VM_FAULT_OOM;
 		break;
-- 
2.5.1



More information about the Intel-gfx mailing list