Chris Wilson
e8616b6ced
drm/i915: Initialise ring vfuncs for old DRI paths
We weren't setting up the vfunc table when initialising the old DRI
ringbuffer, leading to such OOPSes as:
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<(null)>] (null)
PGD 10c441067 PUD 1185e5067 PMD 0
Oops: 0010 [#1] PREEMPT SMP
last sysfs file: /sys/class/dmi/id/chassis_asset_tag
CPU 3
Modules linked in: i915 drm_kms_helper drm fb fbdev i2c_algo_bit
cfbcopyarea video backlight output cfbimgblt cfbfillrect autofs4 ipv6
nfs lockd fscache nfs_acl auth_rpcgss sunrpc coretemp hwmon_vid mousedev
usbhid hid option usb_wwan snd_hda_codec_via asus_atk0110 atl1e
usbserial snd_hda_intel snd_hda_codec firmware_class snd_hwdep snd_pcm
snd_seq snd_timer snd_seq_device processor parport_pc thermal snd
thermal_sys parport 8250_pnp button rng_core rtc_cmos shpchp hwmon
rtc_core ehci_hcd pci_hotplug uhci_hcd soundcore tpm_tis i2c_i801
rtc_lib tpm serio_raw snd_page_alloc tpm_bios i2c_core usbcore psmouse
intel_agp sg pcspkr sr_mod evdev cdrom ext3 jbd mbcache dm_mod sd_mod
ata_piix libata scsi_mod unix
Jan 18 15:49:29 lithui kernel:
Pid: 3605, comm: Xorg Not tainted 2.6.36.2 #5 P5KPL-CM/System Product
Name
RIP: 0010:[<0000000000000000>] [<(null)>] (null)
RSP: 0018:ffff8801150d1d40 EFLAGS: 00010202
RAX: 000000000001ffff RBX: ffff88011a011b00 RCX: 000000000001a704
RDX: ffff880118566028 RSI: ffff880118566028 RDI: ffff880117876800
RBP: ffff8801150d1d48 R08: ffff8801195fe300 R09: 00000000c0086444
R10: 0000000000000001 R11: 0000000000003206 R12: ffff880117876800
R13: ffff880118566000 R14: ffff880117876820 R15: ffff8801150d1df8
FS: 00007f1038d456e0(0000) GS:ffff880001780000(0000)
knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 00000001187e7000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process Xorg (pid: 3605, threadinfo ffff8801150d0000, task
ffff88011b016e40)
Stack:
ffffffffa043b8e6 ffff8801150d1d98 ffffffffa041768b dead000000000000
<0> 0000000000000048 00007f1023f2a000 0000000000000044 0000000000000008
<0> ffff88010d26bd80 ffff880117876800 ffff8801150d1df8 ffff8801150d1ea8
Call Trace:
[<ffffffffa043b8e6>] ? intel_ring_advance+0x16/0x20 [i915]
[<ffffffffa041768b>] i915_irq_emit+0x15b/0x240 [i915]
[<ffffffffa03ea7b1>] drm_ioctl+0x1f1/0x460 [drm]
[<ffffffffa0417530>] ? i915_irq_emit+0x0/0x240 [i915]
[<ffffffff810dd8f1>] ? do_sync_read+0xd1/0x120
[<ffffffff81025b1f>] ? do_page_fault+0x1df/0x3d0
[<ffffffff810ed5c7>] do_vfs_ioctl+0x97/0x550
[<ffffffff8115c2ea>] ? security_file_permission+0x7a/0x90
[<ffffffff810edb19>] sys_ioctl+0x99/0xa0
[<ffffffff810024ab>] system_call_fastpath+0x16/0x1b
Code: Bad RIP value.
RIP [<(null)>] (null)
RSP <ffff8801150d1d40>
CR2: 0000000000000000
Reported-by: Herbert Xu <herbert@gondor.apana.org.au>
Tested-by: Herbert Xu <herbert@gondor.apana.org.au>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=29153
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=23172
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@kernel.org
2011-01-20 11:20:53 +00:00
..
2010-09-18 15:46:19 +01:00
2010-12-30 13:50:43 +00:00
2010-09-18 15:46:19 +01:00
2010-09-18 15:46:19 +01:00
2010-09-18 15:46:19 +01:00
2010-08-09 11:24:28 -07:00
2011-01-12 20:24:50 +00:00
2011-01-20 11:20:53 +00:00
2011-01-13 16:05:58 +00:00
2011-01-13 16:05:58 +00:00
2010-11-23 20:19:10 +00:00
2011-01-11 22:55:39 +00:00
2011-01-14 09:51:05 +00:00
2011-01-11 20:44:56 +00:00
2010-12-02 10:07:05 +00:00
2011-01-11 22:55:48 +00:00
2009-12-18 11:22:31 +10:00
2011-01-13 16:06:05 +00:00
2009-06-18 13:00:33 -07:00
2011-01-18 19:30:24 +00:00
2011-01-11 20:43:59 +00:00
2009-09-23 01:05:21 +01:00
2010-12-02 10:20:47 +00:00
2010-12-08 15:40:44 +10:00
2011-01-13 16:05:58 +00:00
2010-10-19 09:17:24 +01:00
2011-01-11 20:26:33 +00:00
2011-01-18 19:30:24 +00:00
2011-01-11 20:26:54 +00:00
2011-01-11 20:27:04 +00:00
2010-09-28 23:34:44 +01:00
2011-01-14 16:10:28 -08:00
2010-10-22 09:14:30 +01:00
2010-11-15 06:49:30 +00:00
2011-01-14 16:36:20 +00:00
2010-09-18 15:46:19 +01:00
2010-12-05 00:37:38 +00:00
2010-12-05 00:37:38 +00:00
2011-01-12 20:24:50 +00:00
2011-01-20 11:20:53 +00:00
2011-01-20 11:20:53 +00:00
2010-08-09 11:24:29 -07:00
2011-01-11 20:26:55 +00:00
2010-12-05 00:37:38 +00:00
2010-11-25 21:19:25 +00:00