drm/i915: check for kernel_context
Explosions during early driver init on the error path. Make sure we fail
gracefully.
[ 9547.672258] BUG: kernel NULL pointer dereference, address:
000000000000007c
[ 9547.672288] #PF: supervisor read access in kernel mode
[ 9547.672292] #PF: error_code(0x0000) - not-present page
[ 9547.672296] PGD
8000000846b41067 P4D
8000000846b41067 PUD
797034067 PMD 0
[ 9547.672303] Oops: 0000 [#1] SMP PTI
[ 9547.672307] CPU: 1 PID: 25634 Comm: i915_selftest Tainted: G U 5.3.0-rc8+ #73
[ 9547.672313] Hardware name: /NUC6i7KYB, BIOS KYSKLi70.86A.0050.2017.0831.1924 08/31/2017
[ 9547.672395] RIP: 0010:intel_context_unpin+0x9/0x100 [i915]
[ 9547.672400] Code: 6b 60 00 e9 17 ff ff ff bd fc ff ff ff e9 7c ff ff ff 66 66 2e 0f 1f 84 00 00 00 00
00 0f 1f 40 00 0f 1f 44 00 00 41 54 55 53 <8b> 47 7c 83 f8 01 74 26 8d 48 ff f0 0f b1 4f 7c 48 8d 57 7c
75 05
[ 9547.672413] RSP: 0018:
ffffae8ac24ff878 EFLAGS:
00010246
[ 9547.672417] RAX:
ffff944a1b7842d0 RBX:
ffff944a1b784000 RCX:
ffff944a12dd6fa8
[ 9547.672422] RDX:
ffff944a1b7842c0 RSI:
ffff944a12dd5328 RDI:
0000000000000000
[ 9547.672428] RBP:
0000000000000000 R08:
ffff944a11e5d840 R09:
0000000000000000
[ 9547.672433] R10:
0000000000000000 R11:
0000000000000000 R12:
0000000000000000
[ 9547.672438] R13:
ffffffffc11aaf00 R14:
00000000ffffffe4 R15:
ffff944a0e29bf38
[ 9547.672443] FS:
00007fc259b88ac0(0000) GS:
ffff944a1f880000(0000) knlGS:
0000000000000000
[ 9547.672449] CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033
[ 9547.672454] CR2:
000000000000007c CR3:
0000000853346003 CR4:
00000000003606e0
[ 9547.672459] DR0:
0000000000000000 DR1:
0000000000000000 DR2:
0000000000000000
[ 9547.672464] DR3:
0000000000000000 DR6:
00000000fffe0ff0 DR7:
0000000000000400
[ 9547.672469] Call Trace:
[ 9547.672518] intel_engine_cleanup_common+0xe3/0x270 [i915]
[ 9547.672567] execlists_destroy+0xe/0x30 [i915]
[ 9547.672669] intel_engines_init+0x94/0xf0 [i915]
[ 9547.672749] i915_gem_init+0x191/0x950 [i915]
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190927173409.31175-2-matthew.auld@intel.com