linux_dsm_epyc7002/drivers/gpu/drm/i915
Chris Wilson df6f783a4e drm/i915: Fix unsafe loop iteration over vma whilst unbinding them
On non-LLC platforms, when changing the cache level of an object, we may
need to unbind it so that prefetching across page boundaries does not
cross into a different memory domain. This requires us to unbind
conflicting vma, but we did so iterating over the objects vma in an
unsafe manner (as the list was being modified as we iterated).

The regression was introduced in
commit 3089c6f239
Author: Ben Widawsky <ben@bwidawsk.net>
Date:   Wed Jul 31 17:00:03 2013 -0700

    drm/i915: make caching operate on all address spaces
apparently as far back as v3.12-rc1, but it has only just begun to
trigger real world bug reports.

Reported-and-tested-by: Nikolay Martynov <mar.kolya@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76384
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ben Widawsky <ben@bwidawsk.net>
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-21 16:13:08 +01:00
..
dvo_ch7xxx.c
dvo_ch7017.c
dvo_ivch.c
dvo_ns2501.c drm/i915/ns2501: Rip out the reenable hack 2013-11-04 16:32:31 +01:00
dvo_sil164.c
dvo_tfp410.c
dvo.h
i915_cmd_parser.c drm/i915: Use the correct format string modifier for ptrdiff_t 2014-03-18 19:49:42 +01:00
i915_debugfs.c drm/i915: Print how many objects are shared in per-process stats 2014-03-20 15:09:36 +01:00
i915_dma.c drm/i915: make PC8 be part of runtime PM suspend/resume 2014-03-19 16:38:25 +01:00
i915_drv.c drm/i915: rename __hsw_do_{en, dis}able_pc8 2014-03-19 16:40:25 +01:00
i915_drv.h drm/i915: Per-process stats work better when evaluated per-process 2014-03-20 15:09:21 +01:00
i915_gem_context.c drm/i915: Per-process stats work better when evaluated per-process 2014-03-20 15:09:21 +01:00
i915_gem_debug.c
i915_gem_dmabuf.c drm/i915: Pin pages whilst allocating for dma-buf vmap() 2013-11-29 15:51:20 +01:00
i915_gem_evict.c drm/i915: Consolidate binding parameters into flags 2014-02-14 14:16:58 +01:00
i915_gem_execbuffer.c drm/i915: Implement command buffer parsing logic 2014-03-07 22:37:00 +01:00
i915_gem_gtt.c drm/i915/bdw: Restore PPAT on thaw 2014-03-19 09:44:48 +01:00
i915_gem_stolen.c drm/i915: Resolving the memory region conflict for Stolen area 2014-03-03 11:51:15 +02:00
i915_gem_tiling.c drm/i915: Make pin count per VMA 2013-12-18 15:27:49 +01:00
i915_gem.c drm/i915: Fix unsafe loop iteration over vma whilst unbinding them 2014-03-21 16:13:08 +01:00
i915_gpu_error.c drm/i915: Actually capture PP_DIR_BASE on error 2014-03-18 16:31:36 +01:00
i915_ioc32.c
i915_irq.c drm/i915: Rename and comment all the RPS *stuff* 2014-03-20 14:45:41 +01:00
i915_params.c drm/i915: make PC8 be part of runtime PM suspend/resume 2014-03-19 16:38:25 +01:00
i915_reg.h drm/i915: Enabling 128x128 and 256x256 ARGB Cursor Support 2014-03-20 17:35:33 +01:00
i915_suspend.c drm/i915: Kill most of the FBC register save/restore 2014-01-25 21:17:03 +01:00
i915_sysfs.c drm/i915: remove rps local variables 2014-03-20 14:46:07 +01:00
i915_trace_points.c
i915_trace.h drm/i915: Do not dereference pointers from ring buffer in evict event 2014-03-19 08:17:29 +01:00
i915_ums.c drm/i915: Only restore backlight combination mode reg for ums 2014-01-24 17:22:45 +01:00
intel_acpi.c Merge branch 'acpi-dsm' 2014-01-12 23:45:52 +01:00
intel_bios.c drm/i915: Update VBT data structures to have MIPI block enhancements 2014-03-05 21:30:12 +01:00
intel_bios.h drm/i915: Update VBT data structures to have MIPI block enhancements 2014-03-05 21:30:12 +01:00
intel_crt.c drm/i915: Allow HDMI+VGA cloning 2014-03-10 21:48:08 +01:00
intel_ddi.c drm/i915: finish off reverting eDP VDD changes 2014-03-18 16:31:38 +01:00
intel_display.c drm/i915: Enabling 128x128 and 256x256 ARGB Cursor Support 2014-03-20 17:35:33 +01:00
intel_dp.c Merge branch 'topic/dp-aux-rework' into drm-intel-next-queued 2014-03-19 15:54:37 +01:00
intel_drv.h drm/i915: Enabling 128x128 and 256x256 ARGB Cursor Support 2014-03-20 17:35:33 +01:00
intel_dsi_cmd.c
intel_dsi_cmd.h
intel_dsi_pll.c drm/i915: Try harder to get best m, n, p values with minimal error 2013-12-11 23:52:18 +01:00
intel_dsi.c drm/i915: Make encoder cloning more flexible 2014-03-10 21:33:26 +01:00
intel_dsi.h drm/i915: Parametrize the dphy and other spec specific parameters 2013-12-11 23:52:20 +01:00
intel_dvo.c drm/i915: Make encoder cloning more flexible 2014-03-10 21:33:26 +01:00
intel_fbdev.c drm/i915: remove early fb allocation dependency on CONFIG_FB v2 2014-03-08 11:31:58 +01:00
intel_hdmi.c Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
intel_i2c.c drm/i915: Disable dp aux irq on g4x 2014-02-07 16:40:07 +01:00
intel_lvds.c drm/i915: Make encoder cloning more flexible 2014-03-10 21:33:26 +01:00
intel_modes.c
intel_opregion.c Merge tag 'drm-intel-fixes-2014-02-06' of ssh://git.freedesktop.org/git/drm-intel into drm-next 2014-02-11 12:57:27 +10:00
intel_overlay.c drm/i915: tune down user-triggerable dmesg noise in the cursor/overlay code 2014-02-14 19:02:32 +01:00
intel_panel.c Linux 3.14-rc7 2014-03-18 19:12:31 +10:00
intel_pm.c drm/i915: remove rps local variables 2014-03-20 14:46:07 +01:00
intel_ringbuffer.c Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2014-03-18 09:43:56 +01:00
intel_ringbuffer.h Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2014-03-18 09:43:56 +01:00
intel_sdvo_regs.h drm/i915: use __packed instead of __attribute__((packed)) 2013-12-03 18:19:49 +01:00
intel_sdvo.c drm/i915: Make encoder cloning more flexible 2014-03-10 21:33:26 +01:00
intel_sideband.c drm/i915: Use FLISDSI interface for band gap reset 2013-12-11 23:52:17 +01:00
intel_sprite.c drm/i915: Shuffle sprite register writes into a tighter group 2014-01-24 17:22:53 +01:00
intel_tv.c drm/i915: Make encoder cloning more flexible 2014-03-10 21:33:26 +01:00
intel_uncore.c drm/i915: catch forcewake reference underruns 2014-03-18 16:31:37 +01:00
Kconfig i915, fbdev: Fix Kconfig typo 2013-11-21 21:59:02 +01:00
Makefile Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next 2014-03-18 09:43:56 +01:00