From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50D4EC43603 for ; Thu, 5 Dec 2019 23:08:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 107B52466E for ; Thu, 5 Dec 2019 23:08:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1575587296; bh=CeEq+cfBX/gAyD/rZxuk9vUaxOtOXyqAmhbxth/RGxY=; h=References:In-Reply-To:From:Date:Subject:To:Cc:List-ID:From; b=hCfzs0RPu8TbnedLdxC53yyrndw4Zm3zTnm9Xq+Vp/QfIW0OHxI4L8GVAzrzz8AhC DPzo5aHbrMo8aOdHdGwNJvA6BFYyGOCG1zkcv80k41V7fVQnp0wHHHz/1Pwv0mudrv YIKH8cCsqfzJb/UoiF3IzlHB8H//oDZvPGpY5UlQ= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725927AbfLEXIP (ORCPT ); Thu, 5 Dec 2019 18:08:15 -0500 Received: from mail.kernel.org ([198.145.29.99]:51352 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725926AbfLEXIP (ORCPT ); Thu, 5 Dec 2019 18:08:15 -0500 Received: from mail-qv1-f41.google.com (mail-qv1-f41.google.com [209.85.219.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 934D324670 for ; Thu, 5 Dec 2019 23:08:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1575587294; bh=CeEq+cfBX/gAyD/rZxuk9vUaxOtOXyqAmhbxth/RGxY=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=fEe3IdstOxkYd+80F7cYNhCKIo//MQIkLe3pUGqmQH3xEImCutKQIxQocYR58IVdV ks+e9LPtkLztzHApd14yjm+LQqWsn7g5GHDVVgzsyNfc1okVTD8tmRvARn7qMemETi qIrRkBuTp0LQTY75lFSaBPRyW2L7yK5ZJ54X054c= Received: by mail-qv1-f41.google.com with SMTP id z3so2003175qvn.0 for ; Thu, 05 Dec 2019 15:08:14 -0800 (PST) X-Gm-Message-State: APjAAAVylVOWkdXiMAn31uTt9SuxHtrnfzf6KL5K6FWdvCmAQrJ3jm64 kOwStGEi96vtFPd5NjCcNZWCU5i8xF0TRSxn9w== X-Google-Smtp-Source: APXvYqyxkxAoggGPptj2IEwBrr4+FXZBSbsJ155K6UH5SeCimRJy0v+hBW/RkTmFJnYtOCrIFOGTSiAbvdfbdw9AmbM= X-Received: by 2002:ad4:4511:: with SMTP id k17mr5733756qvu.135.1575587293693; Thu, 05 Dec 2019 15:08:13 -0800 (PST) MIME-Version: 1.0 References: <20191129135908.2439529-1-boris.brezillon@collabora.com> <20191129135908.2439529-3-boris.brezillon@collabora.com> <20191129153310.2f9c80e1@collabora.com> In-Reply-To: <20191129153310.2f9c80e1@collabora.com> From: Rob Herring Date: Thu, 5 Dec 2019 17:08:02 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 2/8] drm/panfrost: Fix a race in panfrost_ioctl_madvise() To: Boris Brezillon Cc: Steven Price , Tomeu Vizoso , Alyssa Rosenzweig , stable , dri-devel Content-Type: text/plain; charset="UTF-8" Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org On Fri, Nov 29, 2019 at 8:33 AM Boris Brezillon wrote: > > On Fri, 29 Nov 2019 14:24:48 +0000 > Steven Price wrote: > > > On 29/11/2019 13:59, Boris Brezillon wrote: > > > If 2 threads change the MADVISE property of the same BO in parallel we > > > might end up with an shmem->madv value that's inconsistent with the > > > presence of the BO in the shrinker list. > > > > I'm a bit worried from the point of view of user space sanity that you > > observed this - but clearly the kernel should be robust! > > It's not something I observed, just found the race by inspecting the > code, and I thought it was worth fixing it. I'm not so sure there's a race. If there is, we still check madv value when purging, so it would be harmless even if the state is inconsistent. > > > The easiest solution to fix that is to protect the > > > drm_gem_shmem_madvise() call with the shrinker lock. > > > > > > Fixes: 013b65101315 ("drm/panfrost: Add madvise and shrinker support") > > > Cc: > > > Signed-off-by: Boris Brezillon > > > > Reviewed-by: Steven Price > > Thanks. > > > > > > --- > > > drivers/gpu/drm/panfrost/panfrost_drv.c | 9 ++++----- > > > 1 file changed, 4 insertions(+), 5 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/panfrost/panfrost_drv.c b/drivers/gpu/drm/panfrost/panfrost_drv.c > > > index f21bc8a7ee3a..efc0a24d1f4c 100644 > > > --- a/drivers/gpu/drm/panfrost/panfrost_drv.c > > > +++ b/drivers/gpu/drm/panfrost/panfrost_drv.c > > > @@ -347,20 +347,19 @@ static int panfrost_ioctl_madvise(struct drm_device *dev, void *data, > > > return -ENOENT; > > > } > > > > > > + mutex_lock(&pfdev->shrinker_lock); > > > args->retained = drm_gem_shmem_madvise(gem_obj, args->madv); This means we now hold the shrinker_lock while we take the pages_lock. Is lockdep happy with this change? I suspect not given all the fun I had getting lockdep happy. Rob From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E326FC2D0C0 for ; Thu, 5 Dec 2019 23:08:16 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BBC1524658 for ; Thu, 5 Dec 2019 23:08:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BBC1524658 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 399EA6E9AF; Thu, 5 Dec 2019 23:08:16 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id D07416E9AF for ; Thu, 5 Dec 2019 23:08:14 +0000 (UTC) Received: from mail-qv1-f44.google.com (mail-qv1-f44.google.com [209.85.219.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 878552466E for ; Thu, 5 Dec 2019 23:08:14 +0000 (UTC) Received: by mail-qv1-f44.google.com with SMTP id o18so1994471qvf.1 for ; Thu, 05 Dec 2019 15:08:14 -0800 (PST) X-Gm-Message-State: APjAAAXDqMNbClJceVR3lII1bTDkPhF85znFw/eA0Ql8JFLENA217vK0 Okxplm1JJ9w1RkaZBdEd81tibuy4PFwxZMhWmA== X-Google-Smtp-Source: APXvYqyxkxAoggGPptj2IEwBrr4+FXZBSbsJ155K6UH5SeCimRJy0v+hBW/RkTmFJnYtOCrIFOGTSiAbvdfbdw9AmbM= X-Received: by 2002:ad4:4511:: with SMTP id k17mr5733756qvu.135.1575587293693; Thu, 05 Dec 2019 15:08:13 -0800 (PST) MIME-Version: 1.0 References: <20191129135908.2439529-1-boris.brezillon@collabora.com> <20191129135908.2439529-3-boris.brezillon@collabora.com> <20191129153310.2f9c80e1@collabora.com> In-Reply-To: <20191129153310.2f9c80e1@collabora.com> From: Rob Herring Date: Thu, 5 Dec 2019 17:08:02 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 2/8] drm/panfrost: Fix a race in panfrost_ioctl_madvise() To: Boris Brezillon X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1575587294; bh=CeEq+cfBX/gAyD/rZxuk9vUaxOtOXyqAmhbxth/RGxY=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=fEe3IdstOxkYd+80F7cYNhCKIo//MQIkLe3pUGqmQH3xEImCutKQIxQocYR58IVdV ks+e9LPtkLztzHApd14yjm+LQqWsn7g5GHDVVgzsyNfc1okVTD8tmRvARn7qMemETi qIrRkBuTp0LQTY75lFSaBPRyW2L7yK5ZJ54X054c= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: stable , dri-devel , Alyssa Rosenzweig , Steven Price Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gRnJpLCBOb3YgMjksIDIwMTkgYXQgODozMyBBTSBCb3JpcyBCcmV6aWxsb24KPGJvcmlzLmJy ZXppbGxvbkBjb2xsYWJvcmEuY29tPiB3cm90ZToKPgo+IE9uIEZyaSwgMjkgTm92IDIwMTkgMTQ6 MjQ6NDggKzAwMDAKPiBTdGV2ZW4gUHJpY2UgPHN0ZXZlbi5wcmljZUBhcm0uY29tPiB3cm90ZToK Pgo+ID4gT24gMjkvMTEvMjAxOSAxMzo1OSwgQm9yaXMgQnJlemlsbG9uIHdyb3RlOgo+ID4gPiBJ ZiAyIHRocmVhZHMgY2hhbmdlIHRoZSBNQURWSVNFIHByb3BlcnR5IG9mIHRoZSBzYW1lIEJPIGlu IHBhcmFsbGVsIHdlCj4gPiA+IG1pZ2h0IGVuZCB1cCB3aXRoIGFuIHNobWVtLT5tYWR2IHZhbHVl IHRoYXQncyBpbmNvbnNpc3RlbnQgd2l0aCB0aGUKPiA+ID4gcHJlc2VuY2Ugb2YgdGhlIEJPIGlu IHRoZSBzaHJpbmtlciBsaXN0Lgo+ID4KPiA+IEknbSBhIGJpdCB3b3JyaWVkIGZyb20gdGhlIHBv aW50IG9mIHZpZXcgb2YgdXNlciBzcGFjZSBzYW5pdHkgdGhhdCB5b3UKPiA+IG9ic2VydmVkIHRo aXMgLSBidXQgY2xlYXJseSB0aGUga2VybmVsIHNob3VsZCBiZSByb2J1c3QhCj4KPiBJdCdzIG5v dCBzb21ldGhpbmcgSSBvYnNlcnZlZCwganVzdCBmb3VuZCB0aGUgcmFjZSBieSBpbnNwZWN0aW5n IHRoZQo+IGNvZGUsIGFuZCBJIHRob3VnaHQgaXQgd2FzIHdvcnRoIGZpeGluZyBpdC4KCkknbSBu b3Qgc28gc3VyZSB0aGVyZSdzIGEgcmFjZS4gSWYgdGhlcmUgaXMsIHdlIHN0aWxsIGNoZWNrIG1h ZHYgdmFsdWUKd2hlbiBwdXJnaW5nLCBzbyBpdCB3b3VsZCBiZSBoYXJtbGVzcyBldmVuIGlmIHRo ZSBzdGF0ZSBpcwppbmNvbnNpc3RlbnQuCgo+ID4gPiBUaGUgZWFzaWVzdCBzb2x1dGlvbiB0byBm aXggdGhhdCBpcyB0byBwcm90ZWN0IHRoZQo+ID4gPiBkcm1fZ2VtX3NobWVtX21hZHZpc2UoKSBj YWxsIHdpdGggdGhlIHNocmlua2VyIGxvY2suCj4gPiA+Cj4gPiA+IEZpeGVzOiAwMTNiNjUxMDEz MTUgKCJkcm0vcGFuZnJvc3Q6IEFkZCBtYWR2aXNlIGFuZCBzaHJpbmtlciBzdXBwb3J0IikKPiA+ ID4gQ2M6IDxzdGFibGVAdmdlci5rZXJuZWwub3JnPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBCb3Jp cyBCcmV6aWxsb24gPGJvcmlzLmJyZXppbGxvbkBjb2xsYWJvcmEuY29tPgo+ID4KPiA+IFJldmll d2VkLWJ5OiBTdGV2ZW4gUHJpY2UgPHN0ZXZlbi5wcmljZUBhcm0uY29tPgo+Cj4gVGhhbmtzLgo+ Cj4gPgo+ID4gPiAtLS0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9k cnYuYyB8IDkgKysrKy0tLS0tCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCsp LCA1IGRlbGV0aW9ucygtKQo+ID4gPgo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3BhbmZyb3N0L3BhbmZyb3N0X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZy b3N0X2Rydi5jCj4gPiA+IGluZGV4IGYyMWJjOGE3ZWUzYS4uZWZjMGEyNGQxZjRjIDEwMDY0NAo+ ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3RfZHJ2LmMKPiA+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2Rydi5jCj4gPiA+IEBAIC0z NDcsMjAgKzM0NywxOSBAQCBzdGF0aWMgaW50IHBhbmZyb3N0X2lvY3RsX21hZHZpc2Uoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ID4gICAgICAgICAgICAgcmV0dXJuIC1F Tk9FTlQ7Cj4gPiA+ICAgICB9Cj4gPiA+Cj4gPiA+ICsgICBtdXRleF9sb2NrKCZwZmRldi0+c2hy aW5rZXJfbG9jayk7Cj4gPiA+ICAgICBhcmdzLT5yZXRhaW5lZCA9IGRybV9nZW1fc2htZW1fbWFk dmlzZShnZW1fb2JqLCBhcmdzLT5tYWR2KTsKClRoaXMgbWVhbnMgd2Ugbm93IGhvbGQgdGhlIHNo cmlua2VyX2xvY2sgd2hpbGUgd2UgdGFrZSB0aGUgcGFnZXNfbG9jay4KSXMgbG9ja2RlcCBoYXBw eSB3aXRoIHRoaXMgY2hhbmdlPyBJIHN1c3BlY3Qgbm90IGdpdmVuIGFsbCB0aGUgZnVuIEkKaGFk IGdldHRpbmcgbG9ja2RlcCBoYXBweS4KClJvYgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWw=