Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932497AbbD0IyI (ORCPT ); Mon, 27 Apr 2015 04:54:08 -0400 Received: from mga01.intel.com ([192.55.52.88]:53014 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932122AbbD0IyE (ORCPT ); Mon, 27 Apr 2015 04:54:04 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,655,1422950400"; d="scan'208";a="716213063" From: Jani Nikula To: green@linuxhacker.ru, David Airlie , dri-devel@lists.freedesktop.org Cc: Daniel Vetter , kernel-janitors@vger.kernel.org, open list , Oleg Drokin Subject: Re: [PATCH 2/2] drm: fix a memleak on mutex failure path In-Reply-To: <1430025269-26243-3-git-send-email-green@linuxhacker.ru> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <1430025269-26243-1-git-send-email-green@linuxhacker.ru> <1430025269-26243-3-git-send-email-green@linuxhacker.ru> User-Agent: Notmuch/0.19+87~gcf99a78 (http://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu) Date: Mon, 27 Apr 2015 11:56:00 +0300 Message-ID: <87d22qc5lr.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1690 Lines: 58 On Sun, 26 Apr 2015, green@linuxhacker.ru wrote: > From: Oleg Drokin > > Need to free just allocated ctx allocation if we cannot > get our config mutex. > > This one has been flagged by kbuild bot all the way back in August, > but somehow nobody picked it up: > https://lists.01.org/pipermail/kbuild/2014-August/001691.html > > Found with smatch. > > Signed-off-by: Oleg Drokin > CC: Daniel Vetter The function has another leaking failure path, would be nice to have that fixed too. Maybe with a common out label. BR, Jani. > --- > drivers/gpu/drm/drm_modeset_lock.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_modeset_lock.c b/drivers/gpu/drm/drm_modeset_lock.c > index 51cc47d..1e8c52f 100644 > --- a/drivers/gpu/drm/drm_modeset_lock.c > +++ b/drivers/gpu/drm/drm_modeset_lock.c > @@ -80,8 +80,10 @@ int __drm_modeset_lock_all(struct drm_device *dev, > return -ENOMEM; > > if (trylock) { > - if (!mutex_trylock(&config->mutex)) > + if (!mutex_trylock(&config->mutex)) { > + kfree(ctx); > return -EBUSY; > + } > } else { > mutex_lock(&config->mutex); > } > -- > 2.1.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel -- Jani Nikula, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/