From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1422884AbcFMXmk (ORCPT ); Mon, 13 Jun 2016 19:42:40 -0400 Received: from m12-13.163.com ([220.181.12.13]:37608 "EHLO m12-13.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932430AbcFMXmj (ORCPT ); Mon, 13 Jun 2016 19:42:39 -0400 From: weiyj_lk@163.com To: Daniel Vetter , Jani Nikula , David Airlie Cc: Wei Yongjun , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] drm/i915: Fix missing unlock on error in i915_ppgtt_info() Date: Mon, 13 Jun 2016 23:42:00 +0000 Message-Id: <1465861320-26221-1-git-send-email-weiyj_lk@163.com> X-Mailer: git-send-email 2.5.5 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-CM-TRANSID: DcCowAAnIdTJRF9X9advAA--.5933S3 X-Coremail-Antispam: 1Uf129KBjvdXoW7Wr4DKF1DZFy7AryrKw45Wrg_yoWkWwbEk3 95ZrnrGrWUCFn0gF12kr15ZFWFyayY9F48X3WFvrW3Jr12kws8GrZ3urykXr48WFsrua4D J3Z5uFn5ZrnrKjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IUnHGQDUUUUU== X-Originating-IP: [180.102.102.213] X-CM-SenderInfo: pzhl5yxbonqiywtou0bp/1tbiMAyH1lWBWiKlLgAAsK Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Wei Yongjun Add the missing unlock before return from function i915_ppgtt_info() in the error handling case. Fixes: 1d2ac403ae3b(drm: Protect dev->filelist with its own mutex) Signed-off-by: Wei Yongjun --- drivers/gpu/drm/i915/i915_debugfs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 3269033..1035468 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -2365,16 +2365,16 @@ static int i915_ppgtt_info(struct seq_file *m, void *data) task = get_pid_task(file->pid, PIDTYPE_PID); if (!task) { ret = -ESRCH; - goto out_put; + goto out_unlock; } 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); } +out_unlock: mutex_unlock(&dev->filelist_mutex); -out_put: intel_runtime_pm_put(dev_priv); mutex_unlock(&dev->struct_mutex);