linux/drivers/gpu/drm/i915
Steven Rostedt 9297ebf29a drm/i915: Do not dereference pointers from ring buffer in evict event
The TP_printk() should never dereference any pointers, because the ring
buffer can be read at some unknown time in the future. If a device no
longer exists, it can cause a kernel oops. This also makes this
event useless when saving the ring buffer in userspaces tools such as
perf and trace-cmd.

The i915_gem_evict_vm dereferences the vm pointer which may also not
exist when the ring buffer is read sometime in the future.

Link: http://lkml.kernel.org/r/1395095198-20034-3-git-send-email-artagnon@gmail.com
Reported-by: Ramkumar Ramachandra <artagnon@gmail.com>
Cc: stable@vger.kernel.org # 3.13+
Fixes: bcccff847d "drm/i915: trace vm eviction instead of everything"
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
[danvet: Try to make it actually compile]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-19 08:17:29 +01:00
..
Kconfig i915, fbdev: Fix Kconfig typo 2013-11-21 21:59:02 +01:00
Makefile Linux 3.14-rc6 2014-03-10 21:43:46 +01:00
dvo.h drm/i915: Remove unused mode_fixup() vfunc of struct intel_dvo_dev_ops 2013-09-05 21:39:59 +02:00
dvo_ch7xxx.c drm/i915: dvo_ch7xxx: fix vsync polarity setting 2013-07-25 16:10:22 +02:00
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
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: Remove erronous WARN in the vlv pipe crc code 2014-03-13 17:46:49 +01:00
i915_dma.c drm/i915: Fix up the forcewake timer initialization 2014-03-18 16:31:34 +01:00
i915_drv.c drm/i915: Reset forcewake before suspend 2014-03-13 12:26:13 +01:00
i915_drv.h Linux 3.14-rc6 2014-03-10 21:43:46 +01:00
i915_gem.c drm/i915: Unbind all vmas whose new cache_level doesn't agree with the neighbours 2014-03-13 12:22:44 +01:00
i915_gem_context.c drm/i915: Switch to fake context on older gens 2014-03-18 16:31:35 +01:00
i915_gem_debug.c drm/i915: Fix #endif comment 2013-08-09 10:45:52 +02:00
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: Drop WARN_ON(flags) from ppgtt_bind_vma() 2014-03-13 12:22:19 +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_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: fix typo in display IRQ mask when disabling IRQs 2014-03-10 21:49:49 +01:00
i915_params.c drm/i915: Implement command buffer parsing logic 2014-03-07 22:37:00 +01:00
i915_reg.h drm/i915: wait for rings to become idle once disabled 2014-03-12 16:04:19 +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: Update rps interrupt limits 2014-02-07 10:26:17 +01:00
i915_trace.h drm/i915: Do not dereference pointers from ring buffer in evict event 2014-03-19 08:17:29 +01:00
i915_trace_points.c
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: Remove spurious '()' in WARN macros 2014-03-18 16:31:38 +01:00
intel_dp.c drm/i915: finish off reverting eDP VDD changes 2014-03-18 16:31:38 +01:00
intel_drv.h drm/i915: finish off reverting eDP VDD changes 2014-03-18 16:31:38 +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_dsi_cmd.c drm/i915/dsi: s/size_t/int/ 2013-09-04 17:34:51 +02:00
intel_dsi_cmd.h drm/i915/dsi: s/size_t/int/ 2013-09-04 17:34:51 +02:00
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_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 drm/i915: Allow HDMI+HDMI cloning on g4x 2014-03-10 21:48:20 +01: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-rc6 2014-03-10 21:43:46 +01:00
intel_pm.c drm/i915: Rename intel_setup_wm_latency() to ilk_setup_wm_latency() 2014-03-18 16:31:39 +01:00
intel_ringbuffer.c drm/i915/bdw: The TLB invalidation mechanism has been removed from INSTPM 2014-03-13 03:52:31 +01:00
intel_ringbuffer.h drm/i915: wait for rings to become idle once disabled 2014-03-12 16:04:19 +01:00
intel_sdvo.c drm/i915: Make encoder cloning more flexible 2014-03-10 21:33:26 +01:00
intel_sdvo_regs.h drm/i915: use __packed instead of __attribute__((packed)) 2013-12-03 18:19:49 +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