drm/i915/gtt: Mark the freed page table entries with scratch
On unwinding the allocation error path and having freed the page table
entry, it is imperative that we mark it as scratch.
<4> [416.075569] general protection fault: 0000 [#1] PREEMPT SMP PTI
<4> [416.075801] CPU: 0 PID: 2385 Comm: kworker/u2:11 Tainted: G U 5.2.0-rc7-CI-Patchwork_13534+ #1
<4> [416.076162] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.10.1-0-g8891697-prebuilt.qemu-project.org 04/01/2014
<4> [416.076522] Workqueue: i915 __i915_vm_release [i915]
<4> [416.076754] RIP: 0010:gen8_ppgtt_cleanup_3lvl+0x58/0xb0 [i915]
<4> [416.077023] Code: 81 e2 04 fe ff ff 81 c2 ff 01 00 00 4c 8d 74 d6 58 4d 8b 65 00 4d 3b a7 28 02 00 00 74 40 49 8d 5c 24 50 49 81 c4 50 10 00 00 <48> 8b 2b 49 3b af 20 02 00 00 74 13 4c 89 ff 48 89 ee e8 01 fb ff
<4> [416.077445] RSP: 0018:
ffffc9000046bd98 EFLAGS:
00010206
<4> [416.077625] RAX:
0001000000000000 RBX:
6b6b6b6b6b6b6bbb RCX:
8b4b56d500000000
<4> [416.077838] RDX:
00000000000001ff RSI:
ffff88805a578008 RDI:
ffff88805bd0efc8
<4> [416.078167] RBP:
ffff88805bd0efc8 R08:
0000000004e42b93 R09:
0000000000000001
<4> [416.078381] R10:
0000000000000000 R11:
ffff888077a1b0b8 R12:
6b6b6b6b6b6b7bbb
<4> [416.078594] R13:
ffff88805a578058 R14:
ffff88805a579058 R15:
ffff88805bd0efc8
<4> [416.078815] FS:
0000000000000000(0000) GS:
ffff88807da00000(0000) knlGS:
0000000000000000
<4> [416.079395] CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033
<4> [416.079851] CR2:
000056160fec2b14 CR3:
0000000071bbc003 CR4:
00000000003606f0
<4> [416.080388] Call Trace:
<4> [416.080828] gen8_ppgtt_cleanup+0x64/0x100 [i915]
<4> [416.081399] __i915_vm_release+0xfc/0x1d0 [i915]
Fixes:
1d1b5490b91c ("drm/i915/gtt: Replace struct_mutex serialisation for allocation")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190704201656.15775-1-chris@chris-wilson.co.uk