Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp365926ybc; Tue, 12 Nov 2019 02:44:01 -0800 (PST) X-Google-Smtp-Source: APXvYqzZxy6dtz6ejZHVg73Y8O/I2n6XKU3AVbQz/qz4ADW6bNj8v/8NX9JAVtay84MWcmEdBJHK X-Received: by 2002:a50:950a:: with SMTP id u10mr32371496eda.68.1573555441216; Tue, 12 Nov 2019 02:44:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573555441; cv=none; d=google.com; s=arc-20160816; b=qVdXgEbX3DIFY3DrtvMVW9PSU9JDGz1sSv0A5zeo9wdsllF54DHnwhwJ6B8ahDs1sW r45Ad1yYXG9tiwcZHD8SaP34aC0hbra2AJ/cgcfHvheYmSgC3hsK+81XrS5oCmWpn+rr Jjkw0F/gH3+ishg1tbBvv7ebYYvdjQCzobVscWQBhH3aGGFDs8hU6Uf4SC+QAOig3IAE rYZTBGnin1k4AmS6AJWnxapXCchny7qaMVzfcPiGJhWi2nEH8wZKpX/d3QuquefL7/B7 HkTwlcjEZX+2oHORlvd1LssQa3wDb6Jep7TeU0MjglaNM3POUAn2P12q1Kee6mpLcb+D qh7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=XWXqgjsblbcyWM0h2meBDVZ+XPFRuLEW2MPm0S54S/s=; b=JcdnqUNxleBsiytp5mtiJL1vqmwdUMvkrD0je7e1247w5oSoppiXLS970r/K40nWK8 undO6zvtAZbZeawgbY3tm+0omkOqFmMCNE7CBweEQXdgu3xwwK63+7TpCnd4DfCoUOYQ 6emI5CSIi+Uyx/g3Uta8z5T//1y2DWx+5k99QWJLHibcdfrwSpkHBxgnpCKW/KtGoc3J FMXEm5kIH8RGrH3drkCVKUEYtMCk0znbfSrNpgBiD2t0rBMezs4IJyG7pgiW0cJWf973 IpFQuuyk2OeCu+ycjed89H8Ll7egCkM1vpE4UanLpc9Zhv/iKB8E/9yPc9h+KYMiS+5z rwlw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x28si16115949edl.21.2019.11.12.02.43.36; Tue, 12 Nov 2019 02:44:01 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727257AbfKLKj6 (ORCPT + 99 others); Tue, 12 Nov 2019 05:39:58 -0500 Received: from mail-lf1-f66.google.com ([209.85.167.66]:34923 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725853AbfKLKj5 (ORCPT ); Tue, 12 Nov 2019 05:39:57 -0500 Received: by mail-lf1-f66.google.com with SMTP id i26so1356135lfl.2; Tue, 12 Nov 2019 02:39:55 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=XWXqgjsblbcyWM0h2meBDVZ+XPFRuLEW2MPm0S54S/s=; b=CTVAyYnT5d6NFMoTSwruMSYLoQz31YwMh9f1b2imH4VEgUZqDunjh4OAZ0qiGkpMU4 2yyYvSmP/mCBvvzXw6+syV4fitEOKf6Xv29FqALV9M+3YnhzKPOTM5NjSPKaMvmlZJOl H1OVAk3AggiVh8sNvwPUP5fcBb/SCxxC+L1AlFCYp1lMnLMJsa2fZ7HMIaodqMGq8x1R d9mXNlWJXeWyv20bvSUJewbMbg1TnYDJCoo4oz1b21dfWaFvROuCVZF5wXZ5sZ8IQXbH 60XoAVLZoVF/zmJ6ohHK7uFPzhP4N5Cq88cl4vPaMVq3Iz31e3vyFdSosmFZz9UHKLM+ DFIA== X-Gm-Message-State: APjAAAXYPD1CN/dYvjmx9RDiixBwB8WCvp6aiseDojWCHXAgbc9lJZlu 4Sz7/vHAlzl8pCjcACPineI= X-Received: by 2002:a05:6512:21e:: with SMTP id a30mr8849014lfo.76.1573555194825; Tue, 12 Nov 2019 02:39:54 -0800 (PST) Received: from xi.terra (c-51f1e055.07-184-6d6c6d4.bbcust.telenor.se. [85.224.241.81]) by smtp.gmail.com with ESMTPSA id d24sm3344144ljg.73.2019.11.12.02.39.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Nov 2019 02:39:54 -0800 (PST) Received: from johan by xi.terra with local (Exim 4.92.3) (envelope-from ) id 1iUTab-0000IZ-1b; Tue, 12 Nov 2019 11:40:01 +0100 Date: Tue, 12 Nov 2019 11:40:01 +0100 From: Johan Hovold To: Rob Clark , Sean Paul , Daniel Vetter Cc: David Airlie , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-s390@vger.kernel.org, Greg Kroah-Hartman , Johan Hovold , stable , Jordan Crouse , Harald Freudenberger , Mauro Carvalho Chehab , Fabien Dessenne Subject: Re: [PATCH 1/4] drm/msm: fix memleak on release Message-ID: <20191112104001.GP11035@localhost> References: <20191010131333.23635-1-johan@kernel.org> <20191010131333.23635-2-johan@kernel.org> <20191030100146.GC4691@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191030100146.GC4691@localhost> User-Agent: Mutt/1.12.2 (2019-09-21) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 30, 2019 at 11:01:46AM +0100, Johan Hovold wrote: > On Thu, Oct 10, 2019 at 03:13:30PM +0200, Johan Hovold wrote: > > If a process is interrupted while accessing the "gpu" debugfs file and > > the drm device struct_mutex is contended, release() could return early > > and fail to free related resources. > > > > Note that the return value from release() is ignored. > > > > Fixes: 4f776f4511c7 ("drm/msm/gpu: Convert the GPU show function to use the GPU state") > > Cc: stable # 4.18 > > Cc: Jordan Crouse > > Cc: Rob Clark > > Signed-off-by: Johan Hovold > > --- > > Rob, Sean, > > Sending a reminder about this one, which is not yet in linux-next. > > Perhaps Daniel can pick it up otherwise? Another two weeks, another reminder. This one is still not in -next. Johan > > drivers/gpu/drm/msm/msm_debugfs.c | 6 +----- > > 1 file changed, 1 insertion(+), 5 deletions(-) > > > > diff --git a/drivers/gpu/drm/msm/msm_debugfs.c b/drivers/gpu/drm/msm/msm_debugfs.c > > index 6be879578140..1c74381a4fc9 100644 > > --- a/drivers/gpu/drm/msm/msm_debugfs.c > > +++ b/drivers/gpu/drm/msm/msm_debugfs.c > > @@ -47,12 +47,8 @@ static int msm_gpu_release(struct inode *inode, struct file *file) > > struct msm_gpu_show_priv *show_priv = m->private; > > struct msm_drm_private *priv = show_priv->dev->dev_private; > > struct msm_gpu *gpu = priv->gpu; > > - int ret; > > - > > - ret = mutex_lock_interruptible(&show_priv->dev->struct_mutex); > > - if (ret) > > - return ret; > > > > + mutex_lock(&show_priv->dev->struct_mutex); > > gpu->funcs->gpu_state_put(show_priv->state); > > mutex_unlock(&show_priv->dev->struct_mutex);