<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/gpu/drm/i915, branch v5.9.12</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v5.9.12</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v5.9.12'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2020-11-24T12:39:13+00:00</updated>
<entry>
<title>drm/i915/tgl: Fix Media power gate sequence.</title>
<updated>2020-11-24T12:39:13+00:00</updated>
<author>
<name>Rodrigo Vivi</name>
<email>rodrigo.vivi@intel.com</email>
</author>
<published>2020-11-11T14:09:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=95799d5ce7206e23ed1d15ab63510799cebe1283'/>
<id>urn:sha1:95799d5ce7206e23ed1d15ab63510799cebe1283</id>
<content type='text'>
commit 85a12d7eb8fe449cf38f1aa9ead5ca744729a98f upstream.

Some media power gates are disabled by default. commit 5d86923060fc
("drm/i915/tgl: Enable VD HCP/MFX sub-pipe power gating")
tried to enable it, but it duplicated an existent register.
So, the main PG setup sequences ended up overwriting it.

So, let's now merge this to the main PG setup sequence.

v2: (Chris): s/BIT/REG_BIT, remove useless comment,
    	     remove useless =0, use the right gt,
	     remove rc6 sequence doubt from commit message.

Fixes: 5d86923060fc ("drm/i915/tgl: Enable VD HCP/MFX sub-pipe power gating")
Cc: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
Cc: stable@vger.kernel.org#v5.5+
Cc: Dale B Stimson &lt;dale.b.stimson@intel.com&gt;
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201111072859.1186070-1-rodrigo.vivi@intel.com
(cherry picked from commit 695dc55b573985569259e18f8e6261a77924342b)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915: Handle max_bpc==16</title>
<updated>2020-11-24T12:39:13+00:00</updated>
<author>
<name>Ville Syrjälä</name>
<email>ville.syrjala@linux.intel.com</email>
</author>
<published>2020-11-10T21:04:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=15c1bb50a1306bf05ca49095172109c578fb95f6'/>
<id>urn:sha1:15c1bb50a1306bf05ca49095172109c578fb95f6</id>
<content type='text'>
commit d2e3fce9ddafe689c6f7cb355f23560637e30b9d upstream.

EDID can declare the maximum supported bpc up to 16,
and apparently there are displays that do so. Currently
we assume 12 bpc is tha max. Fix the assumption and
toss in a MISSING_CASE() for any other value we don't
expect to see.

This fixes modesets with a display with EDID max bpc &gt; 12.
Previously any modeset would just silently fail on platforms
that didn't otherwise limit this via the max_bpc property.
In particular we don't add the max_bpc property to HDMI
ports on gmch platforms, and thus we would see the raw
max_bpc coming from the EDID.

I suppose we could already adjust this to also allow 16bpc,
but seeing as no current platform supports that there is
little point.

Cc: stable@vger.kernel.org
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2632
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201110210447.27454-1-ville.syrjala@linux.intel.com
Reviewed-by: José Roberto de Souza &lt;jose.souza@intel.com&gt;
(cherry picked from commit 2ca5a7b85b0c2b97ef08afbd7799b022e29f192e)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915: Correctly set SFC capability for video engines</title>
<updated>2020-11-18T18:22:29+00:00</updated>
<author>
<name>Venkata Sandeep Dhanalakota</name>
<email>venkata.s.dhanalakota@intel.com</email>
</author>
<published>2020-11-06T01:18:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=824cbc5564db7828a2ecfc58d69d22448129bab6'/>
<id>urn:sha1:824cbc5564db7828a2ecfc58d69d22448129bab6</id>
<content type='text'>
commit 5ce6861d36ed5207aff9e5eead4c7cc38a986586 upstream.

SFC capability of video engines is not set correctly because i915
is testing for incorrect bits.

Fixes: c5d3e39caa45 ("drm/i915: Engine discovery query")
Cc: Matt Roper &lt;matthew.d.roper@intel.com&gt;
Cc: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Signed-off-by: Venkata Sandeep Dhanalakota &lt;venkata.s.dhanalakota@intel.com&gt;
Signed-off-by: Daniele Ceraolo Spurio &lt;daniele.ceraolospurio@intel.com&gt;
Reviewed-by: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v5.3+
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201106011842.36203-1-daniele.ceraolospurio@intel.com
(cherry picked from commit ad18fa0f5f052046cad96fee762b5c64f42dd86a)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915/gem: Flush coherency domains on first set-domain-ioctl</title>
<updated>2020-11-18T18:21:59+00:00</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2020-10-19T20:38:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f2f4e25f241c90d0d04a81de5f002bd1f0ad3bad'/>
<id>urn:sha1:f2f4e25f241c90d0d04a81de5f002bd1f0ad3bad</id>
<content type='text'>
[ Upstream commit 59dd13ad310793757e34afa489dd6fc8544fc3da ]

Avoid skipping what appears to be a no-op set-domain-ioctl if the cache
coherency state is inconsistent with our target domain. This also has
the utility of using the population of the pages to validate the backing
store.

The danger in skipping the first set-domain is leaving the cache
inconsistent and submitting stale data, or worse leaving the clean data
in the cache and not flushing it to the GPU. The impact should be small
as it requires a no-op set-domain as the very first ioctl in a
particular sequence not found in typical userspace.

Reported-by: Zbigniew Kempczyński &lt;zbigniew.kempczynski@intel.com&gt;
Fixes: 754a25442705 ("drm/i915: Skip object locking around a no-op set-domain ioctl")
Testcase: igt/gem_mmap_offset/blt-coherency
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
Cc: Matthew Auld &lt;matthew.william.auld@gmail.com&gt;
Cc: Zbigniew Kempczyński &lt;zbigniew.kempczynski@intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v5.2+
Reviewed-by: Matthew Auld &lt;matthew.auld@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201019203825.10966-1-chris@chris-wilson.co.uk
(cherry picked from commit 44c2200afcd59f441b43f27829b4003397cc495d)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/i915: Hold onto an explicit ref to i915_vma_work.pinned</title>
<updated>2020-11-18T18:21:59+00:00</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2020-11-02T16:19:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=81a01ed3ac50dce96a5725143626a0abb502a4f8'/>
<id>urn:sha1:81a01ed3ac50dce96a5725143626a0abb502a4f8</id>
<content type='text'>
[ Upstream commit 537457a979a02a410b555fab289dcb28b588f33b ]

Since __vma_release is run by a kworker after the fence has been
signaled, it is no longer protected by the active reference on the vma,
and so the alias of vw-&gt;pinned to vma-&gt;obj is also not protected by a
reference on the object. Add an explicit reference for vw-&gt;pinned so it
will always be safe.

Found by inspection.

Fixes: 54d7195f8c64 ("drm/i915: Unpin vma-&gt;obj on early error")
Reported-by: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v5.6+
Reviewed-by: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201102161931.30031-1-chris@chris-wilson.co.uk
(cherry picked from commit bc73e5d33048b7ab5f12b11b5d923700467a8e1d)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/i915/gt: Use the local HWSP offset during submission</title>
<updated>2020-11-10T11:39:11+00:00</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2020-10-22T06:41:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7ce3877c1e933456fcd7439e3780fd136334cba6'/>
<id>urn:sha1:7ce3877c1e933456fcd7439e3780fd136334cba6</id>
<content type='text'>
commit 8ce70996f759a37bac92e69ae0addd715227bfd1 upstream.

We wrap the timeline on construction of the next request, but there may
still be requests in flight that have not yet finalized the breadcrumb.
(The breadcrumb is delayed as we need engine-local offsets, and for the
virtual engine that is not known until execution.) As such, by the time
we write to the timeline's HWSP offset it may have changed, and we
should use the value we preserved in the request instead.

Though the window is small and infrequent (at full flow we can expect a
timeline's seqno to wrap once every 30 minutes), the impact of writing
the old seqno into the new HWSP is severe: the old requests are never
completed, and the new requests are completed before they are even
submitted.

Fixes: ebece7539242 ("drm/i915: Keep timeline HWSP allocated until idle across the system")
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Cc: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v5.2+
Reviewed-by: Mika Kuoppala &lt;mika.kuoppala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201022064127.10159-1-chris@chris-wilson.co.uk
(cherry picked from commit c10f6019d0b2dc8a6a62b55459f3ada5bc4e5e1a)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915: Fix encoder lookup during PSR atomic check</title>
<updated>2020-11-10T11:39:11+00:00</updated>
<author>
<name>Imre Deak</name>
<email>imre.deak@intel.com</email>
</author>
<published>2020-10-27T16:09:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7c321a0b8ab0f0fd66ebeb0212192bd5a2cbb2d8'/>
<id>urn:sha1:7c321a0b8ab0f0fd66ebeb0212192bd5a2cbb2d8</id>
<content type='text'>
commit d9a57c853975742c8281f703b9e536d8aa016ec2 upstream.

The atomic check hooks must look up the encoder to be used with a
connector from the connector's atomic state, and not assume that it's
the connector's current attached encoder. The latter one can change
under the atomic check func, or can be unset yet as in the case of MST
connectors.

This fixes
[    7.940719] Oops: 0000 [#1] SMP NOPTI
[    7.944407] CPU: 2 PID: 143 Comm: kworker/2:2 Not tainted 5.6.0-1023-oem #23-Ubuntu
[    7.952102] Hardware name: Dell Inc. Latitude 7320/, BIOS 88.87.11 09/07/2020
[    7.959278] Workqueue: events output_poll_execute [drm_kms_helper]
[    7.965511] RIP: 0010:intel_psr_atomic_check+0x37/0xa0 [i915]
[    7.971327] Code: 80 2d 06 00 00 20 74 42 80 b8 34 71 00 00 00 74 39 48 8b 72 08 48 85 f6 74 30 80 b8 f8 71 00 00 00 74 27 4c 8b 87 80 04 00 00 &lt;41&gt; 8b 78 78 83 ff 08 77 19 31 c9 83 ff 05 77 19 48 81 c1 20 01 00
[    7.977541] input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/input/input5
[    7.990154] RSP: 0018:ffffb864c073fac8 EFLAGS: 00010202
[    7.990155] RAX: ffff8c5d55ce0000 RBX: ffff8c5d54519000 RCX: 0000000000000000
[    7.990155] RDX: ffff8c5d55cb30c0 RSI: ffff8c5d89a0c800 RDI: ffff8c5d55fcf800
[    7.990156] RBP: ffffb864c073fac8 R08: 0000000000000000 R09: ffff8c5d55d9f3a0
[    7.990156] R10: ffff8c5d55cb30c0 R11: 0000000000000009 R12: ffff8c5d55fcf800
[    7.990156] R13: ffff8c5d55cb30c0 R14: ffff8c5d56989cc0 R15: ffff8c5d56989cc0
[    7.990158] FS:  0000000000000000(0000) GS:ffff8c5d8e480000(0000) knlGS:0000000000000000
[    8.047193] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    8.052970] CR2: 0000000000000078 CR3: 0000000856500005 CR4: 0000000000760ee0
[    8.060137] PKRU: 55555554
[    8.062867] Call Trace:
[    8.065361]  intel_digital_connector_atomic_check+0x53/0x130 [i915]
[    8.071703]  intel_dp_mst_atomic_check+0x5b/0x200 [i915]
[    8.077074]  drm_atomic_helper_check_modeset+0x1db/0x790 [drm_kms_helper]
[    8.083942]  intel_atomic_check+0x92/0xc50 [i915]
[    8.088705]  ? drm_plane_check_pixel_format+0x4f/0xb0 [drm]
[    8.094345]  ? drm_atomic_plane_check+0x7a/0x3a0 [drm]
[    8.099548]  drm_atomic_check_only+0x2b1/0x450 [drm]
[    8.104573]  drm_atomic_commit+0x18/0x50 [drm]
[    8.109070]  drm_client_modeset_commit_atomic+0x1c9/0x200 [drm]
[    8.115056]  drm_client_modeset_commit_force+0x55/0x160 [drm]
[    8.120866]  drm_fb_helper_restore_fbdev_mode_unlocked+0x54/0xb0 [drm_kms_helper]
[    8.128415]  drm_fb_helper_set_par+0x34/0x50 [drm_kms_helper]
[    8.134225]  drm_fb_helper_hotplug_event.part.0+0xb4/0xe0 [drm_kms_helper]
[    8.141150]  drm_fb_helper_hotplug_event+0x1c/0x30 [drm_kms_helper]
[    8.147481]  intel_fbdev_output_poll_changed+0x6f/0xa0 [i915]
[    8.153287]  drm_kms_helper_hotplug_event+0x2c/0x40 [drm_kms_helper]
[    8.159709]  output_poll_execute+0x1aa/0x1c0 [drm_kms_helper]
[    8.165506]  process_one_work+0x1e8/0x3b0
[    8.169561]  worker_thread+0x4d/0x400
[    8.173249]  kthread+0x104/0x140
[    8.176515]  ? process_one_work+0x3b0/0x3b0
[    8.180726]  ? kthread_park+0x90/0x90
[    8.184416]  ret_from_fork+0x1f/0x40

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2361
References: https://gitlab.freedesktop.org/drm/intel/-/issues/2486
Reported-by: William Tseng &lt;william.tseng@intel.com&gt;
Reported-by: Cooper Chiou &lt;cooper.chiou@intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Imre Deak &lt;imre.deak@intel.com&gt;
Reviewed-by: Anshuman Gupta &lt;anshuman.gupta@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201027160928.3665377-1-imre.deak@intel.com
(cherry picked from commit 00e5deb5c4f5fe367311465e720e65cfa1178792)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915: Restore ILK-M RPS support</title>
<updated>2020-11-10T11:38:55+00:00</updated>
<author>
<name>Ville Syrjälä</name>
<email>ville.syrjala@linux.intel.com</email>
</author>
<published>2020-10-21T13:14:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7ffafe85ae1f0da4865b280cb558001a6a38ae27'/>
<id>urn:sha1:7ffafe85ae1f0da4865b280cb558001a6a38ae27</id>
<content type='text'>
commit 5cbd7685b22823ebf432ec71eac1691b71c41037 upstream.

Restore RPS for ILK-M. We lost it when an extra HAS_RPS()
check appeared in intel_rps_enable().

Unfortunaltey this just makes the performance worse on my
ILK because intel_ips insists on limiting the GPU freq to
the minimum. If we don't do the RPS init then intel_ips will
not limit the frequency for whatever reason. Either it can't
get at some required information and thus makes wrong decisions,
or we mess up some weights/etc. and cause it to make the wrong
decisions when RPS init has been done, or the entire thing is
just wrong. Would require a bunch of reverse engineering to
figure out what's going on.

Cc: stable@vger.kernel.org
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Fixes: 9c878557b1eb ("drm/i915/gt: Use the RPM config register to determine clk frequencies")
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201021131443.25616-1-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
(cherry picked from commit 2bf06370bcfb0dea5655e9a5ad460c7f7dca7739)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915: Reject 90/270 degree rotated initial fbs</title>
<updated>2020-11-10T11:38:55+00:00</updated>
<author>
<name>Ville Syrjälä</name>
<email>ville.syrjala@linux.intel.com</email>
</author>
<published>2020-10-20T19:43:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=33c59beb426bbbad4361faf7d13764c7a4fbfdbf'/>
<id>urn:sha1:33c59beb426bbbad4361faf7d13764c7a4fbfdbf</id>
<content type='text'>
commit 61334ed227a5852100115180f5535b1396ed5227 upstream.

We don't currently handle the initial fb readout correctly
for 90/270 degree rotated scanout. Reject it.

Cc: stable@vger.kernel.org
Signed-off-by: Ville Syrjälä &lt;ville.syrjala@linux.intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201020194330.28568-1-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
(cherry picked from commit a40a8305a732f4ecc2186ac7ca132ba062ed770d)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drm/i915: Use the active reference on the vma while capturing</title>
<updated>2020-11-10T11:38:55+00:00</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2020-10-16T09:25:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=574104177afae81446ffe22d5b72684dcfd14859'/>
<id>urn:sha1:574104177afae81446ffe22d5b72684dcfd14859</id>
<content type='text'>
commit db9bc2d35f49fed248296d3216597b078c0bab37 upstream.

During error capture, we need to take a reference to the vma from before
the reset in order to catpure the contents of the vma later. Currently
we are using both an active reference and a kref, but due to nature of
the i915_vma reference handling, that kref is on the vma-&gt;obj and not
the vma itself. This means the vma may be destroyed as soon as it is
idle, that is in between the i915_active_release(&amp;vma-&gt;active) and the
i915_vma_put(vma):

&lt;3&gt; [197.866181] BUG: KASAN: use-after-free in intel_engine_coredump_add_vma+0x36c/0x4a0 [i915]
&lt;3&gt; [197.866339] Read of size 8 at addr ffff8881258cb800 by task gem_exec_captur/1041
&lt;3&gt; [197.866467]
&lt;4&gt; [197.866512] CPU: 2 PID: 1041 Comm: gem_exec_captur Not tainted 5.9.0-g5e4234f97efba-kasan_200+ #1
&lt;4&gt; [197.866521] Hardware name: Intel Corp. Broxton P/Apollolake RVP1A, BIOS APLKRVPA.X64.0150.B11.1608081044 08/08/2016
&lt;4&gt; [197.866530] Call Trace:
&lt;4&gt; [197.866549]  dump_stack+0x99/0xd0
&lt;4&gt; [197.866760]  ? intel_engine_coredump_add_vma+0x36c/0x4a0 [i915]
&lt;4&gt; [197.866783]  print_address_description.constprop.8+0x3e/0x60
&lt;4&gt; [197.866797]  ? kmsg_dump_rewind_nolock+0xd4/0xd4
&lt;4&gt; [197.866819]  ? lockdep_hardirqs_off+0xd4/0x120
&lt;4&gt; [197.867037]  ? intel_engine_coredump_add_vma+0x36c/0x4a0 [i915]
&lt;4&gt; [197.867249]  ? intel_engine_coredump_add_vma+0x36c/0x4a0 [i915]
&lt;4&gt; [197.867270]  kasan_report.cold.10+0x1f/0x37
&lt;4&gt; [197.867492]  ? intel_engine_coredump_add_vma+0x36c/0x4a0 [i915]
&lt;4&gt; [197.867710]  intel_engine_coredump_add_vma+0x36c/0x4a0 [i915]
&lt;4&gt; [197.867949]  i915_gpu_coredump.part.29+0x150/0x7b0 [i915]
&lt;4&gt; [197.868186]  i915_capture_error_state+0x5e/0xc0 [i915]
&lt;4&gt; [197.868396]  intel_gt_handle_error+0x6eb/0xa20 [i915]
&lt;4&gt; [197.868624]  ? intel_gt_reset_global+0x370/0x370 [i915]
&lt;4&gt; [197.868644]  ? check_flags+0x50/0x50
&lt;4&gt; [197.868662]  ? __lock_acquire+0xd59/0x6b00
&lt;4&gt; [197.868678]  ? register_lock_class+0x1ad0/0x1ad0
&lt;4&gt; [197.868944]  i915_wedged_set+0xcf/0x1b0 [i915]
&lt;4&gt; [197.869147]  ? i915_wedged_get+0x90/0x90 [i915]
&lt;4&gt; [197.869371]  ? i915_wedged_get+0x90/0x90 [i915]
&lt;4&gt; [197.869398]  simple_attr_write+0x153/0x1c0
&lt;4&gt; [197.869428]  full_proxy_write+0xee/0x180
&lt;4&gt; [197.869442]  ? __sb_start_write+0x1f3/0x310
&lt;4&gt; [197.869465]  vfs_write+0x1a3/0x640
&lt;4&gt; [197.869492]  ksys_write+0xec/0x1c0
&lt;4&gt; [197.869507]  ? __ia32_sys_read+0xa0/0xa0
&lt;4&gt; [197.869525]  ? lockdep_hardirqs_on_prepare+0x32b/0x4e0
&lt;4&gt; [197.869541]  ? syscall_enter_from_user_mode+0x1c/0x50
&lt;4&gt; [197.869566]  do_syscall_64+0x33/0x80
&lt;4&gt; [197.869579]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
&lt;4&gt; [197.869590] RIP: 0033:0x7fd8b7aee281
&lt;4&gt; [197.869604] Code: c3 0f 1f 84 00 00 00 00 00 48 8b 05 59 8d 20 00 c3 0f 1f 84 00 00 00 00 00 8b 05 8a d1 20 00 85 c0 75 16 b8 01 00 00 00 0f 05 &lt;48&gt; 3d 00 f0 ff ff 77 57 f3 c3 0f 1f 44 00 00 41 54 55 49 89 d4 53
&lt;4&gt; [197.869613] RSP: 002b:00007ffea3b72008 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
&lt;4&gt; [197.869625] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fd8b7aee281
&lt;4&gt; [197.869633] RDX: 0000000000000002 RSI: 00007fd8b81a82e7 RDI: 000000000000000d
&lt;4&gt; [197.869641] RBP: 0000000000000002 R08: 0000000000000000 R09: 0000000000000034
&lt;4&gt; [197.869650] R10: 0000000000000000 R11: 0000000000000246 R12: 00007fd8b81a82e7
&lt;4&gt; [197.869658] R13: 000000000000000d R14: 0000000000000000 R15: 0000000000000000
&lt;3&gt; [197.869707]
&lt;3&gt; [197.869757] Allocated by task 1041:
&lt;4&gt; [197.869833]  kasan_save_stack+0x19/0x40
&lt;4&gt; [197.869843]  __kasan_kmalloc.constprop.5+0xc1/0xd0
&lt;4&gt; [197.869853]  kmem_cache_alloc+0x106/0x8e0
&lt;4&gt; [197.870059]  i915_vma_instance+0x212/0x1930 [i915]
&lt;4&gt; [197.870270]  eb_lookup_vmas+0xe06/0x1d10 [i915]
&lt;4&gt; [197.870475]  i915_gem_do_execbuffer+0x131d/0x4080 [i915]
&lt;4&gt; [197.870682]  i915_gem_execbuffer2_ioctl+0x103/0x5d0 [i915]
&lt;4&gt; [197.870701]  drm_ioctl_kernel+0x1d2/0x270
&lt;4&gt; [197.870710]  drm_ioctl+0x40d/0x85c
&lt;4&gt; [197.870721]  __x64_sys_ioctl+0x10d/0x170
&lt;4&gt; [197.870731]  do_syscall_64+0x33/0x80
&lt;4&gt; [197.870740]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
&lt;3&gt; [197.870748]
&lt;3&gt; [197.870798] Freed by task 22:
&lt;4&gt; [197.870865]  kasan_save_stack+0x19/0x40
&lt;4&gt; [197.870875]  kasan_set_track+0x1c/0x30
&lt;4&gt; [197.870884]  kasan_set_free_info+0x1b/0x30
&lt;4&gt; [197.870894]  __kasan_slab_free+0x111/0x160
&lt;4&gt; [197.870903]  kmem_cache_free+0xcd/0x710
&lt;4&gt; [197.871109]  i915_vma_parked+0x618/0x800 [i915]
&lt;4&gt; [197.871307]  __gt_park+0xdb/0x1e0 [i915]
&lt;4&gt; [197.871501]  ____intel_wakeref_put_last+0xb1/0x190 [i915]
&lt;4&gt; [197.871516]  process_one_work+0x8dc/0x15d0
&lt;4&gt; [197.871525]  worker_thread+0x82/0xb30
&lt;4&gt; [197.871535]  kthread+0x36d/0x440
&lt;4&gt; [197.871545]  ret_from_fork+0x22/0x30
&lt;3&gt; [197.871553]
&lt;3&gt; [197.871602] The buggy address belongs to the object at ffff8881258cb740
 which belongs to the cache i915_vma of size 968

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2553
Fixes: 2850748ef876 ("drm/i915: Pull i915_vma_pin under the vm-&gt;mutex")
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Mika Kuoppala &lt;mika.kuoppala@linux.intel.com&gt;
Cc: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt;
Cc: Joonas Lahtinen &lt;joonas.lahtinen@linux.intel.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v5.5+
Reviewed-by: Matthew Auld &lt;matthew.auld@intel.com&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20201016092527.29039-1-chris@chris-wilson.co.uk
(cherry picked from commit 178536b8292ecd118f59d2fac4509c7e70b99854)
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
