From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Date: Wed, 18 Mar 2015 08:36:45 +0000 Subject: Re: [patch] drm/i915: memory leak in __i915_gem_vma_create() Message-Id: <87k2yepuqq.fsf@intel.com> List-Id: References: <20150318082158.GB10434@mwanda> In-Reply-To: <20150318082158.GB10434@mwanda> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Dan Carpenter , Daniel Vetter , Joonas Lahtinen Cc: David Airlie , intel-gfx@lists.freedesktop.org, kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org On Wed, 18 Mar 2015, Dan Carpenter wrote: > In the original code then if WARN_ON(i915_is_ggtt(vm) != !!ggtt_view) > was true then we leak "vma". Presumably that doesn't happen often but > static checkers complain and this bug is easy to fix. > > Fixes: c3bbb6f2825d ('drm/i915: Do not use ggtt_view with (aliasing) PPGTT') > Signed-off-by: Dan Carpenter Reviewed-by: Jani Nikula > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index f1b9ea6..cbf013f 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -2340,12 +2340,13 @@ __i915_gem_vma_create(struct drm_i915_gem_object *obj, > struct i915_address_space *vm, > const struct i915_ggtt_view *ggtt_view) > { > - struct i915_vma *vma = kzalloc(sizeof(*vma), GFP_KERNEL); > - if (vma = NULL) > - return ERR_PTR(-ENOMEM); > + struct i915_vma *vma; > > if (WARN_ON(i915_is_ggtt(vm) != !!ggtt_view)) > return ERR_PTR(-EINVAL); > + vma = kzalloc(sizeof(*vma), GFP_KERNEL); > + if (vma = NULL) > + return ERR_PTR(-ENOMEM); > > INIT_LIST_HEAD(&vma->vma_link); > INIT_LIST_HEAD(&vma->mm_list); -- Jani Nikula, Intel Open Source Technology Center From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [patch] drm/i915: memory leak in __i915_gem_vma_create() Date: Wed, 18 Mar 2015 10:36:45 +0200 Message-ID: <87k2yepuqq.fsf@intel.com> References: <20150318082158.GB10434@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20150318082158.GB10434@mwanda> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dan Carpenter , Daniel Vetter , Joonas Lahtinen Cc: David Airlie , intel-gfx@lists.freedesktop.org, kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCAxOCBNYXIgMjAxNSwgRGFuIENhcnBlbnRlciA8ZGFuLmNhcnBlbnRlckBvcmFjbGUu Y29tPiB3cm90ZToKPiBJbiB0aGUgb3JpZ2luYWwgY29kZSB0aGVuIGlmIFdBUk5fT04oaTkxNV9p c19nZ3R0KHZtKSAhPSAhIWdndHRfdmlldykKPiB3YXMgdHJ1ZSB0aGVuIHdlIGxlYWsgInZtYSIu ICBQcmVzdW1hYmx5IHRoYXQgZG9lc24ndCBoYXBwZW4gb2Z0ZW4gYnV0Cj4gc3RhdGljIGNoZWNr ZXJzIGNvbXBsYWluIGFuZCB0aGlzIGJ1ZyBpcyBlYXN5IHRvIGZpeC4KPgo+IEZpeGVzOiBjM2Ji YjZmMjgyNWQgKCdkcm0vaTkxNTogRG8gbm90IHVzZSBnZ3R0X3ZpZXcgd2l0aCAoYWxpYXNpbmcp IFBQR1RUJykKPiBTaWduZWQtb2ZmLWJ5OiBEYW4gQ2FycGVudGVyIDxkYW4uY2FycGVudGVyQG9y YWNsZS5jb20+CgpSZXZpZXdlZC1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNv bT4KCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IGluZGV4IGYxYjllYTYuLmNi ZjAxM2YgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwo+IEBAIC0yMzQwLDEy ICsyMzQwLDEzIEBAIF9faTkxNV9nZW1fdm1hX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqLAo+ICAJCSAgICAgIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAo+ICAJ CSAgICAgIGNvbnN0IHN0cnVjdCBpOTE1X2dndHRfdmlldyAqZ2d0dF92aWV3KQo+ICB7Cj4gLQlz dHJ1Y3QgaTkxNV92bWEgKnZtYSA9IGt6YWxsb2Moc2l6ZW9mKCp2bWEpLCBHRlBfS0VSTkVMKTsK PiAtCWlmICh2bWEgPT0gTlVMTCkKPiAtCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPiArCXN0 cnVjdCBpOTE1X3ZtYSAqdm1hOwo+ICAKPiAgCWlmIChXQVJOX09OKGk5MTVfaXNfZ2d0dCh2bSkg IT0gISFnZ3R0X3ZpZXcpKQo+ICAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+ICsJdm1hID0g a3phbGxvYyhzaXplb2YoKnZtYSksIEdGUF9LRVJORUwpOwo+ICsJaWYgKHZtYSA9PSBOVUxMKQo+ ICsJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+ICAKPiAgCUlOSVRfTElTVF9IRUFEKCZ2bWEt PnZtYV9saW5rKTsKPiAgCUlOSVRfTElTVF9IRUFEKCZ2bWEtPm1tX2xpc3QpOwoKLS0gCkphbmkg TmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=