linux/drivers/gpu/drm/i915
Chris Wilson 7e61615857 drm/i915: Only destroy a constructed mmap offset
drm_ht_remove_item() does not handle removing an absent item and the hlist
in particular is incorrectly initialised. The easy remedy is simply skip
calling i915_gem_free_mmap_offset() unless we have actually created the
offset and associated ht entry.

This also fixes the mishandling of a partially constructed offset which
leaves pointers initialized after freeing them along the
i915_gem_create_mmap_offset() error paths.

In particular this should fix the oops found here:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/415357/comments/8

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Cc: stable@kernel.org
2009-09-11 11:40:39 -07:00
..
dvo.h drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_ch7xxx.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_ch7017.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_ivch.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_sil164.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
dvo_tfp410.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
i915_debugfs.c drm/i915: Pad ringbuffer with NOOPs before wrapping 2009-09-06 11:29:06 -07:00
i915_dma.c drm/i915: framebuffer compression for pre-GM45 2009-09-10 19:46:07 -07:00
i915_drv.c drm/i915: i915_modeset is signed 2009-09-04 13:05:39 -07:00
i915_drv.h drm/i915: framebuffer compression for pre-GM45 2009-09-10 19:46:07 -07:00
i915_gem.c drm/i915: Only destroy a constructed mmap offset 2009-09-11 11:40:39 -07:00
i915_gem_debug.c drm/i915: Catch up to obj_priv->page_list rename in disabled debug code. 2009-06-22 20:19:39 -07:00
i915_gem_tiling.c drm/i915: get the bridge device once. 2009-09-08 11:45:15 +10:00
i915_ioc32.c
i915_irq.c drm/i915: Support IGD EOS 2009-09-04 13:05:30 -07:00
i915_mem.c drm: Remove memory debugging infrastructure. 2009-06-18 13:00:33 -07:00
i915_opregion.c ACPI: Add the reference count to avoid unloading ACPI video bus twice 2009-06-23 23:38:41 -04:00
i915_reg.h drm/i915: framebuffer compression for pre-GM45 2009-09-10 19:46:07 -07:00
i915_suspend.c drm/i915: add dynamic clock frequency control 2009-09-04 13:05:38 -07:00
intel_bios.c drm/i915: add dynamic clock frequency control 2009-09-04 13:05:38 -07:00
intel_bios.h drm/i915: Add eDP support on IGDNG mobile chip 2009-07-29 15:16:19 -07:00
intel_crt.c drm/i915: Support IGD EOS 2009-09-04 13:05:30 -07:00
intel_display.c drm/i915: framebuffer compression for pre-GM45 2009-09-10 19:46:07 -07:00
intel_dp.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_dp.h drm/i915: Add Display Port support 2009-06-18 15:54:07 -07:00
intel_dp_i2c.c drm/i915: Make driver less chatty 2009-07-01 18:13:34 -07:00
intel_drv.h drm/i915: framebuffer compression for pre-GM45 2009-09-10 19:46:07 -07:00
intel_dvo.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_fb.c drm: fix two issues with fb consolidation. 2009-08-31 10:33:29 +10:00
intel_hdmi.c drm/i915: Set crtc/clone mask in different output devices 2009-08-24 17:01:33 -07:00
intel_i2c.c drm/i915: add dynamic clock frequency control 2009-09-04 13:05:38 -07:00
intel_lvds.c drm/i915: generate a KMS uevent at lid open/close time 2009-09-10 16:10:31 -07:00
intel_modes.c drm/i915: Change I2C api to pass around i2c_adapters 2009-06-18 15:53:57 -07:00
intel_sdvo.c drm/i915: Add the missing clone_mask for SDVO-VGA(RGB1) 2009-09-10 11:30:54 -07:00
intel_sdvo_regs.h drm/i915: enable sdvo lvds scaling function. 2009-07-01 11:44:45 -07:00
intel_tv.c drm/i915: select TV format according to connector type 2009-09-04 13:05:10 -07:00
Makefile drm/i915: Move i915_gem_debugfs.c to i915_debugfs.c 2009-09-04 13:05:08 -07:00