summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2011-11-01 07:16:21 +0100
committerKeith Packard <keithp@keithp.com>2011-11-01 17:15:17 +0100
commitff56b0bc84c01fb2c5d2ec6438becfe0f5f2f78f (patch)
treef6f6d8cb510dc2204714cac1e6727c6a0226b35e
parentdrm/i915: Use mode_config.mutex in ironlake_panel_vdd_work (diff)
downloadlinux-ff56b0bc84c01fb2c5d2ec6438becfe0f5f2f78f.tar.xz
linux-ff56b0bc84c01fb2c5d2ec6438becfe0f5f2f78f.zip
drm/i915: Fix object refcount leak on mmappable size limit error path.
I've been seeing memory leaks on my system in the form of large (300-400MB) GEM objects created by now-dead processes laying around clogging up memory. I usually notice when it gets to about 1.2GB of them. Hopefully this clears up the issue, but I just found this bug by inspection. Signed-off-by: Eric Anholt <eric@anholt.net> Cc: stable@kernel.org Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 6651c36b6e8a..d18b07adcffa 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1396,7 +1396,7 @@ i915_gem_mmap_gtt(struct drm_file *file,
if (obj->base.size > dev_priv->mm.gtt_mappable_end) {
ret = -E2BIG;
- goto unlock;
+ goto out;
}
if (obj->madv != I915_MADV_WILLNEED) {