Chris Wilson
43b27f40eb
drm/i915: Explosion following OOM in do_execbuffer.
Oops, when merging the extra details following an OOM, I missed that
driver_private is now NULL and the correct way to convert from the
drm_gem_object into the drm_i915_gem_object is to use to_intel_bo().
BUG: unable to handle kernel NULL pointer dereference at 00000069
IP: [<c11a4a02>] i915_gem_do_execbuffer+0x71f/0xbb6
*pde = 00000000
Oops: 0000 [#1] SMP
last sysfs file: /sys/devices/virtual/vc/vcsa3/uevent
Pid: 10993, comm: X Not tainted 2.6.35-rc2+ #67 /
EIP: 0060:[<c11a4a02>] EFLAGS: 00213202 CPU: 0
EIP is at i915_gem_do_execbuffer+0x71f/0xbb6
EAX: f647e8a8 EBX: 00000000 ECX: 00000003 EDX: 00000000
ESI: 00424000 EDI: 00000000 EBP: f6508e48 ESP: f6508dd4
DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process X (pid: 10993, ti=f6508000 task=f6432880 task.ti=f6508000)
Stack:
f6508de0 f7130000 00000001 00000000 00000000 f647e8a8 00000000 f64f8480
<0> f7974414 00000000 00000006 00000000 00000000 f6578000 00000008 00000006
<0> f6797880 00400000 00000000 ffffffe4 f7974400 000000d0 000000d0 000001c0
Call Trace:
[<c11a4f3a>] ? i915_gem_execbuffer2+0xa1/0xe7
[<c118ab96>] ? drm_ioctl+0x22c/0x2fa
[<c11a4e99>] ? i915_gem_execbuffer2+0x0/0xe7
[<c107e88c>] ? do_sync_read+0x8f/0xca
[<c1088cbd>] ? vfs_ioctl+0x2c/0x96
[<c118a96a>] ? drm_ioctl+0x0/0x2fa
[<c10891f4>] ? do_vfs_ioctl+0x429/0x45a
[<c107e5c9>] ? fsnotify_access+0x54/0x5f
[<c107ee1c>] ? vfs_read+0x9a/0xae
[<c1089258>] ? sys_ioctl+0x33/0x4d
[<c1002610>] ? sysenter_do_call+0x12/0x26
Code: d0 89 4d c4 31 c9 89 45 d8 eb 44 8b 45 cc 8b 14 88 8b 42 50 89 45
bc 8b 45 a0 8b 52 38 89 55 d0 31 d2 f6 40 20 01 74 0d 8b 55 bc <f6> 42
69 30 0f 95 c2 0f b6 d2 8b 45 d0 c7 45 d4 00 00 00 00 89
EIP: [<c11a4a02>] i915_gem_do_execbuffer+0x71f/0xbb6 SS:ESP 0068:f6508dd4
CR2: 0000000000000069
---[ end trace 3f1d514b34d39381 ]---
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
2010-08-01 19:03:42 -07:00
..
2010-07-01 18:40:29 -07:00
2010-07-01 15:34:48 -04:00
2010-05-27 09:12:48 -07:00
2010-06-15 08:12:34 +02:00
2010-07-01 21:28:14 -07:00
2010-07-21 19:27:07 -05:00
2010-07-20 16:25:41 -07:00
2010-07-01 09:39:48 +02:00
2010-07-19 14:11:24 +08:00
2010-07-02 15:46:17 -06:00
2010-07-20 16:25:40 -07:00
2010-06-02 19:48:13 +02:00
2010-07-20 16:25:41 -07:00
2010-08-01 19:03:42 -07:00
2010-07-11 23:13:15 +02:00
2010-07-09 16:22:51 +02:00
2010-07-11 13:35:34 -07:00
2010-06-02 17:50:38 +10:00
2010-05-28 14:26:20 -04:00
2010-05-27 10:22:06 -07:00
2010-07-08 13:27:05 -07:00
2010-07-22 11:46:15 -07:00
2010-06-26 22:12:02 -07:00
2010-06-03 11:33:58 +02:00
2010-06-03 15:46:37 -07:00
2010-06-24 13:36:04 +10:00
2010-07-08 16:50:24 -03:00
2010-05-27 09:12:41 -07:00
2010-06-03 11:33:58 +02:00
2010-07-20 16:25:41 -07:00
2010-07-20 16:25:41 -07:00
2010-06-07 17:10:06 -07:00
2010-07-20 16:26:42 -07:00
2010-05-26 19:51:09 +02:00
2010-07-16 11:39:48 -07:00
2010-07-21 13:52:36 +02:00
2010-07-19 13:17:37 -07:00
2010-07-20 08:22:15 -07:00
2010-05-30 09:02:47 -07:00
2010-06-03 11:33:58 +02:00
2010-06-29 15:29:31 -07:00
2010-07-19 09:22:50 +02:00
2010-07-12 21:16:04 -07:00
2010-06-03 15:48:15 -07:00
2010-07-21 09:28:50 -07:00
2010-06-01 12:04:35 -04:00
2010-06-02 18:10:00 +09:00
2010-07-11 11:03:22 -05:00
2010-05-28 13:57:01 -04:00
2010-06-30 15:45:59 -07:00
2010-05-27 09:12:42 -07:00
2010-07-21 09:25:42 -07:00
2010-07-20 16:26:42 -07:00
2010-07-21 09:25:42 -07:00
2010-06-23 22:49:07 +09:30
2010-06-17 09:56:57 +00:00
2010-06-03 09:34:45 +01:00
2010-05-28 14:26:20 -04:00