diff options
author | Rakib Mullick <rakib.mullick@gmail.com> | 2011-11-16 00:49:28 +0600 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-11-17 12:57:45 -0800 |
commit | 457eafce618cf89125da9d79751d81241bd3fa34 (patch) | |
tree | 135c57845c4197feeb100c467cb2e7a9981b8d9d /drivers/gpu | |
parent | 9a10f401a401ca69c6537641c8fc0d6b57b5aee8 (diff) | |
download | blackbird-op-linux-457eafce618cf89125da9d79751d81241bd3fa34.tar.gz blackbird-op-linux-457eafce618cf89125da9d79751d81241bd3fa34.zip |
drm, i915: Fix memory leak in i915_gem_busy_ioctl().
A call to i915_add_request() has been made in function i915_gem_busy_ioctl(). i915_add_request can fail,
so in it's exit path previously allocated memory needs to be freed.
Signed-off-by: Rakib Mullick <rakib.mullick@gmail.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index ed0b68fdb970..8359dc777041 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -3512,9 +3512,11 @@ i915_gem_busy_ioctl(struct drm_device *dev, void *data, * so emit a request to do so. */ request = kzalloc(sizeof(*request), GFP_KERNEL); - if (request) + if (request) { ret = i915_add_request(obj->ring, NULL, request); - else + if (ret) + kfree(request); + } else ret = -ENOMEM; } |