From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: fix task reference leak in i915_debugfs.c Date: Fri, 25 Sep 2015 14:16:07 +0300 Message-ID: <87k2ren408.fsf@intel.com> References: <7789a9d65ac9f2fc27e95a40b6995b21aab9fb73.1443198651.git.geliangtang@163.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <7789a9d65ac9f2fc27e95a40b6995b21aab9fb73.1443198651.git.geliangtang@163.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , David Airlie Cc: Geliang Tang , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCAyNSBTZXAgMjAxNSwgR2VsaWFuZyBUYW5nIDxnZWxpYW5ndGFuZ0AxNjMuY29tPiB3 cm90ZToKPiBMZWFrIGEgdGFzayByZWZlcmVuY2UgaW4gaTkxNV9wcGd0dF9pbmZvKCksIGFkZCBw dXRfdGFza19zdHJ1Y3QoKQo+IHRvIGZpeCBpdC4KCkludHJvZHVjZWQgYnkKCmNvbW1pdCAxYzYw ZmVmNTM1ZDE0Mzg2MGQ1YmY2NTkzZTI0YWI2NDE3ZjUyMjdjCkF1dGhvcjogQmVuIFdpZGF3c2t5 IDxiZW5AYndpZGF3c2submV0PgpEYXRlOiAgIEZyaSBEZWMgNiAxNDoxMTozMCAyMDEzIC0wODAw CgogICAgZHJtL2k5MTU6IER1bXAgYWxsIHBwZ3R0CgoKPgo+IFNpZ25lZC1vZmYtYnk6IEdlbGlh bmcgVGFuZyA8Z2VsaWFuZ3RhbmdAMTYzLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMgfCA4ICsrKysrKy0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu Ywo+IGluZGV4IDU2MTVkM2QuLjg3OTc3MTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwo+IEBAIC0yMjg4LDkgKzIyODgsMTMgQEAgc3RhdGljIGludCBpOTE1X3BwZ3R0X2lu Zm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQo+ICAKPiAgCWxpc3RfZm9yX2VhY2hf ZW50cnlfcmV2ZXJzZShmaWxlLCAmZGV2LT5maWxlbGlzdCwgbGhlYWQpIHsKPiAgCQlzdHJ1Y3Qg ZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYgPSBmaWxlLT5kcml2ZXJfcHJpdjsKPiAr CQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7Cj4gIAo+IC0JCXNlcV9wcmludGYobSwgIlxucHJv YzogJXNcbiIsCj4gLQkJCSAgIGdldF9waWRfdGFzayhmaWxlLT5waWQsIFBJRFRZUEVfUElEKS0+ Y29tbSk7Cj4gKwkJdGFzayA9IGdldF9waWRfdGFzayhmaWxlLT5waWQsIFBJRFRZUEVfUElEKTsK PiArCQlpZiAoIXRhc2spCj4gKwkJCXJldHVybiAtRVNSQ0g7Cj4gKwkJc2VxX3ByaW50ZihtLCAi XG5wcm9jOiAlc1xuIiwgdGFzay0+Y29tbSk7Cj4gKwkJcHV0X3Rhc2tfc3RydWN0KHRhc2spOwo+ ICAJCWlkcl9mb3JfZWFjaCgmZmlsZV9wcml2LT5jb250ZXh0X2lkciwgcGVyX2ZpbGVfY3R4LAo+ ICAJCQkgICAgICh2b2lkICopKHVuc2lnbmVkIGxvbmcpbSk7Cj4gIAl9Cj4gLS0gCj4gMS45LjEK Pgo+CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVy Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755930AbbIYLNO (ORCPT ); Fri, 25 Sep 2015 07:13:14 -0400 Received: from mga14.intel.com ([192.55.52.115]:15949 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754026AbbIYLNM (ORCPT ); Fri, 25 Sep 2015 07:13:12 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,586,1437462000"; d="scan'208";a="812754624" From: Jani Nikula To: Geliang Tang , Daniel Vetter , David Airlie Cc: Geliang Tang , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/i915: fix task reference leak in i915_debugfs.c In-Reply-To: <7789a9d65ac9f2fc27e95a40b6995b21aab9fb73.1443198651.git.geliangtang@163.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <7789a9d65ac9f2fc27e95a40b6995b21aab9fb73.1443198651.git.geliangtang@163.com> User-Agent: Notmuch/0.20.2+58~g39779b9 (http://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu) Date: Fri, 25 Sep 2015 14:16:07 +0300 Message-ID: <87k2ren408.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 On Fri, 25 Sep 2015, Geliang Tang wrote: > Leak a task reference in i915_ppgtt_info(), add put_task_struct() > to fix it. Introduced by commit 1c60fef535d143860d5bf6593e24ab6417f5227c Author: Ben Widawsky Date: Fri Dec 6 14:11:30 2013 -0800 drm/i915: Dump all ppgtt > > Signed-off-by: Geliang Tang > --- > drivers/gpu/drm/i915/i915_debugfs.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c > index 5615d3d..8797717 100644 > --- a/drivers/gpu/drm/i915/i915_debugfs.c > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > @@ -2288,9 +2288,13 @@ static int i915_ppgtt_info(struct seq_file *m, void *data) > > list_for_each_entry_reverse(file, &dev->filelist, lhead) { > struct drm_i915_file_private *file_priv = file->driver_priv; > + struct task_struct *task; > > - seq_printf(m, "\nproc: %s\n", > - get_pid_task(file->pid, PIDTYPE_PID)->comm); > + task = get_pid_task(file->pid, PIDTYPE_PID); > + if (!task) > + return -ESRCH; > + seq_printf(m, "\nproc: %s\n", task->comm); > + put_task_struct(task); > idr_for_each(&file_priv->context_idr, per_file_ctx, > (void *)(unsigned long)m); > } > -- > 1.9.1 > > -- Jani Nikula, Intel Open Source Technology Center