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 90E08C433E4 for ; Tue, 14 Jul 2020 19:01:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6988F22AAF for ; Tue, 14 Jul 2020 19:01:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594753304; bh=jWQtq7pInRAYrl6IC7TSv07RwIeZV1rWARAg9nRFZDg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=UzDjmwsjchm3kqNuwj/WYvtrn/RqaHSmyEggULklPA03RVfzZ875GtOTAqpeVMa7B UxnPKcDvbYVOmqMhcMrSpRCneYC2s7NA1Wu+Do+bQ27rzCDgqQPC0C+yaQ+Wf8OfBD Nqczt+C0hnylsZ33r27c1HfTMOwmRN89+wM6FtSM= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730152AbgGNTBi (ORCPT ); Tue, 14 Jul 2020 15:01:38 -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: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@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; }