linux/drivers/gpu/drm/i915
Eugeni Dodonov 4ed0b57745 drm/i915: prevent division by zero when asking for chipset power
This prevents an in-kernel division by zero which happens when we are
asking for i915_chipset_val too quickly, or within a race condition
between the power monitoring thread and userspace accesses via debugfs.

The issue can be reproduced easily via the following command:
while ``; do cat /sys/kernel/debug/dri/0/i915_emon_status; done

This is particularly dangerous because it can be triggered by
a non-privileged user by just reading the debugfs entry.

This issue was also found independently by Konstantin Belousov
<kostikbel@gmail.com>, who proposed a similar patch.

Reported-by: Konstantin Belousov <kostikbel@gmail.com>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Acked-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2011-12-16 08:49:56 -08:00
..
dvo_ch7xxx.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ch7017.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_ivch.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_sil164.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo_tfp410.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
dvo.h drm/i915: Subclass intel_encoder. 2010-08-09 11:24:28 -07:00
i915_debugfs.c drm/i915: add PCH info to i915_capabilities 2011-12-16 08:49:55 -08:00
i915_dma.c drm/i915: prevent division by zero when asking for chipset power 2011-12-16 08:49:56 -08:00
i915_drv.c drm/i915: add multi-threaded forcewake support 2011-11-23 13:07:11 -08:00
i915_drv.h drm/i915: prevent division by zero when asking for chipset power 2011-12-16 08:49:56 -08:00
i915_gem_debug.c drm/i915: drop KM_USER0 argument to k(un)map_atomic 2011-10-20 15:26:37 -07:00
i915_gem_evict.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
i915_gem_execbuffer.c drm/i915: Dumb down the semaphore logic 2011-09-21 14:52:41 -07:00
i915_gem_gtt.c drm/i915: ILK + VT-d workaround 2011-10-20 15:26:39 -07:00
i915_gem_tiling.c drm/i915: simplify swapin/out swizzle checking a bit 2011-10-20 14:11:18 -07:00
i915_gem.c drm, i915: Fix memory leak in i915_gem_busy_ioctl(). 2011-11-17 12:57:45 -08:00
i915_ioc32.c drm: convert drm_ioctl to unlocked_ioctl 2009-12-18 11:22:31 +10:00
i915_irq.c drm/i915: Ivybridge still has fences! 2011-11-03 09:20:00 -07:00
i915_mem.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
i915_reg.h drm/i915: set the right SDVO transcoder for CPT 2011-12-16 08:49:55 -08:00
i915_suspend.c drm/i915: Ivybridge still has fences! 2011-11-03 09:20:00 -07:00
i915_trace_points.c drm/i915: Add tracepoints 2009-09-23 01:05:21 +01:00
i915_trace.h Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_acpi.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_bios.c drm/i915: Remove "i2c_speed" nonsense from child device table 2011-10-20 14:11:15 -07:00
intel_bios.h drm/i915: Remove "i2c_speed" nonsense from child device table 2011-10-20 14:11:15 -07:00
intel_crt.c drm/i915: use transcoder select bits on VGA and HDMI on CPT 2011-10-20 15:26:43 -07:00
intel_display.c drm/i915: add multi-threaded forcewake support 2011-11-23 13:07:11 -08:00
intel_dp.c drm/i915: Hook up Ivybridge eDP 2011-11-23 13:07:12 -08:00
intel_drv.h drm/i915: use correct SPD type value 2011-10-20 23:22:02 -07:00
intel_dvo.c drm/i915: cleanup per-pipe reg usage 2011-02-07 21:17:15 +00:00
intel_fb.c drm/i915: restore only the mode of this driver on lastclose (v2) 2011-04-27 17:51:59 +10:00
intel_hdmi.c drm/i915: fix ILK+ infoframe support 2011-10-20 23:22:02 -07:00
intel_i2c.c gpu: Add export.h as required to drivers/gpu files. 2011-10-31 19:32:03 -04:00
intel_lvds.c drm/i915: no-lvds quirk for ASUS AT5NM10T-I 2011-12-16 08:49:54 -08:00
intel_modes.c drm/i915: pass ELD to HDMI/DP audio driver 2011-09-21 14:52:41 -07:00
intel_opregion.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_overlay.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_panel.c drm/i915: Treat pre-gen4 backlight duty cycle value consistently 2011-11-23 13:07:13 -08:00
intel_ringbuffer.c drm/i915: Use PIPE_CONTROL for flushing on gen6+. 2011-10-20 15:26:41 -07:00
intel_ringbuffer.h drm/i915: Dumb down the semaphore logic 2011-09-21 14:52:41 -07:00
intel_sdvo_regs.h Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
intel_sdvo.c drm/i915: set the right SDVO transcoder for CPT 2011-12-16 08:49:55 -08:00
intel_tv.c Drivers: i915: Fix all space related issues. 2011-09-19 18:01:47 -07:00
Makefile drm/i915: Split i915_gem_execbuffer into its own file. 2010-11-25 21:19:25 +00:00