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=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 1E2DBC433F1 for ; Tue, 14 Jul 2020 19:01:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E378322AAF for ; Tue, 14 Jul 2020 19:01:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594753301; bh=jWQtq7pInRAYrl6IC7TSv07RwIeZV1rWARAg9nRFZDg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=NdLqi/UH1O7PfP2mdJoMBGZkOLh0tMDOO4cVZ7qetE2p9/h2E8GSsGReDw/NLarH8 LlBeVt77VBe3+HzObMamxaHSzTtMqpZIwWZ32ZGdCxUbp9wxrqtEHCxrsSOJzlhbTK GxG80lEnCeUKsEy6Ux8JcsC7efbYUUO7YcKGGl2Q= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731129AbgGNTBj (ORCPT ); Tue, 14 Jul 2020 15:01:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:58032 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730811AbgGNS7Z (ORCPT ); Tue, 14 Jul 2020 14:59:25 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 77B7B22507; Tue, 14 Jul 2020 18:59:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594753165; bh=jWQtq7pInRAYrl6IC7TSv07RwIeZV1rWARAg9nRFZDg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PSoskA6eK49TZSXRVFkO7ZDT/Vf9x3KhVQ8sB1HtynhpvvLlpqf0Ed5zK0eLSSVIt IrpH6581HPc+zuguoWIO2sGhlFGn9tSgw9lLMRPE7P+/qykwTKx6oBZEuRaVWN82iK OdN/uBygD+TC9XP1IzN+VBMPTwoCZHiZr0for5qk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Chris Wilson , Tvrtko Ursulin , Rodrigo Vivi Subject: [PATCH 5.7 144/166] drm/i915: Drop vm.ref for duplicate vma on construction Date: Tue, 14 Jul 2020 20:45:09 +0200 Message-Id: <20200714184122.720602973@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200714184115.844176932@linuxfoundation.org> References: <20200714184115.844176932@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chris Wilson commit 42723673a193d5f8e30dba6ea9826d42262a502b upstream. As we allow for parallel threads to create the same vma instance concurrently, and we only filter out the duplicates upon reacquiring the spinlock for the rbtree, we have to free the loser of the constructors' race. When freeing, we should also drop any resource references acquired for the redundant vma. Fixes: 2850748ef876 ("drm/i915: Pull i915_vma_pin under the vm->mutex") Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin Cc: # v5.5+ Reviewed-by: Tvrtko Ursulin Link: https://patchwork.freedesktop.org/patch/msgid/20200702083225.20044-1-chris@chris-wilson.co.uk (cherry picked from commit 2377427cdd2b7514eb4c40241cf5c4dec63c1bec) Signed-off-by: Rodrigo Vivi Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/i915/i915_vma.c | 1 + 1 file changed, 1 insertion(+) --- a/drivers/gpu/drm/i915/i915_vma.c +++ b/drivers/gpu/drm/i915/i915_vma.c @@ -198,6 +198,7 @@ vma_create(struct drm_i915_gem_object *o cmp = i915_vma_compare(pos, vm, view); if (cmp == 0) { spin_unlock(&obj->vma.lock); + i915_vm_put(vm); i915_vma_free(vma); return pos; }