Matthew Brost
257ea8a5ed
drm/i915: Fix syncmap memory leak
[ Upstream commit a63bcf08f0 ]
A small race exists between intel_gt_retire_requests_timeout and
intel_timeline_exit which could result in the syncmap not getting
free'd. Rather than work to hard to seal this race, simply cleanup the
syncmap on fini.
unreferenced object 0xffff88813bc53b18 (size 96):
comm "gem_close_race", pid 5410, jiffies 4294917818 (age 1105.600s)
hex dump (first 32 bytes):
01 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 ................
00 00 00 00 00 00 00 00 6b 6b 6b 6b 06 00 00 00 ........kkkk....
backtrace:
[<00000000120b863a>] __sync_alloc_leaf+0x1e/0x40 [i915]
[<00000000042f6959>] __sync_set+0x1bb/0x240 [i915]
[<0000000090f0e90f>] i915_request_await_dma_fence+0x1c7/0x400 [i915]
[<0000000056a48219>] i915_request_await_object+0x222/0x360 [i915]
[<00000000aaac4ee3>] i915_gem_do_execbuffer+0x1bd0/0x2250 [i915]
[<000000003c9d830f>] i915_gem_execbuffer2_ioctl+0x405/0xce0 [i915]
[<00000000fd7a8e68>] drm_ioctl_kernel+0xb0/0xf0 [drm]
[<00000000e721ee87>] drm_ioctl+0x305/0x3c0 [drm]
[<000000008b0d8986>] __x64_sys_ioctl+0x71/0xb0
[<0000000076c362a4>] do_syscall_64+0x33/0x80
[<00000000eb7a4831>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Fixes: 531958f6f3 ("drm/i915/gt: Track timeline activeness in enter/exit")
Cc: <stable@vger.kernel.org>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210730195342.110234-1-matthew.brost@intel.com
(cherry picked from commit faf890985e)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-03 10:09:26 +02:00
..
2021-07-19 09:44:58 +02:00
2021-08-12 13:22:19 +02:00
2021-09-03 10:09:26 +02:00
2021-07-28 14:35:48 +02:00
2021-06-10 13:39:19 +02:00
2020-03-25 11:50:48 +01:00
2021-05-19 10:13:19 +02:00
2020-09-07 13:29:19 +03:00
2021-08-08 09:05:21 +02:00
2020-05-09 12:57:57 +01:00
2020-06-22 23:26:40 +03:00
2020-09-30 14:24:37 -04:00
2020-03-18 16:27:22 +01:00
2021-01-17 14:17:04 +01:00
2021-03-17 17:06:19 +01:00
2020-05-13 14:39:41 -07:00
2020-07-07 11:00:47 +01:00
2020-05-21 17:33:51 +01:00
2020-11-12 19:47:30 -05:00
2020-09-07 14:30:07 +03:00
2020-08-17 16:16:51 -04:00
2021-08-18 08:59:13 +02:00
2020-07-08 21:07:11 +01:00
2020-05-01 20:35:26 -04:00
2020-09-15 18:01:35 +03:00
2020-04-09 00:01:59 +09:00
2021-01-19 18:27:18 +01:00
2021-01-19 18:27:18 +01:00
2020-06-09 09:39:13 -07:00
2020-08-17 16:17:15 -04:00
2020-08-17 16:17:15 -04:00
2020-10-29 14:20:20 -04:00
2020-03-30 18:20:34 +01:00
2021-03-25 09:04:08 +01:00
2021-02-03 23:28:42 +01:00
2020-06-16 11:34:23 +03:00
2020-07-08 21:13:09 +01:00
2021-08-12 13:22:18 +02:00
2021-08-08 09:05:22 +02:00
2021-01-27 11:54:56 +01:00
2020-05-14 06:14:33 +01:00
2020-05-25 15:40:26 +03:00
2020-05-11 10:54:04 -07:00
2020-05-04 15:15:04 +01:00
2020-09-14 16:20:57 +03:00
2020-03-25 13:05:04 +00:00
2020-03-25 13:05:04 +00:00
2020-09-24 21:56:25 +02:00
2020-04-08 13:49:35 +03:00
2020-06-03 13:53:39 +01:00
2020-07-06 19:21:07 +01:00
2020-07-15 10:16:44 +01:00
2020-07-03 15:14:35 +01:00
2020-11-03 19:22:42 -05:00
2020-09-07 14:31:13 +03:00
2020-09-11 13:16:48 +03:00
2020-08-17 16:16:07 -04:00
2020-04-08 13:49:35 +03:00
2020-06-22 23:26:40 +03:00
2020-10-29 14:20:17 -04:00
2020-07-14 02:47:21 -07:00
2020-07-14 02:47:21 -07:00
2021-05-11 14:47:36 +02:00
2020-05-22 14:40:35 +01:00
2020-06-22 23:26:40 +03:00
2021-03-30 14:31:55 +02:00
2021-03-30 14:31:55 +02:00
2020-09-11 16:59:49 +03:00
2020-10-21 08:32:32 -04:00
2020-07-08 21:07:09 +01:00
2020-03-23 12:51:05 +00:00
2020-03-23 12:51:05 +00:00
2020-05-04 18:44:52 +03:00
2020-10-18 09:27:10 -07:00
2020-10-21 08:32:28 -04:00
2020-05-09 12:57:57 +01:00
2021-01-19 18:27:18 +01:00