Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp668034ybz; Fri, 24 Apr 2020 07:19:02 -0700 (PDT) X-Google-Smtp-Source: APiQypJfcGbNXosgob0RsXqtNTB5rXTUTuyH//PSlENVF1afoyq+MwGWeH40Of8OjXEcUkh+09kY X-Received: by 2002:a17:906:9706:: with SMTP id k6mr7555131ejx.103.1587737940403; Fri, 24 Apr 2020 07:19:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587737939; cv=none; d=google.com; s=arc-20160816; b=H5X6e9Nt5oW5N69FA8zLyw0AGVnQeiwl24PkohPvApEMlsj8fAptp+Pu2EJLQW3+V0 J79JJLo6rnWIK0hygxTkUt0b4tUsMflncAisSt2V3l/kZ+D5GiDRpj8N/4d46qp1S2u1 X7j1rtI0+gS3PycfkkyZ5CUti8gm4+rPuREHxAEA/jOaLDw4Z8lQyWq7gJ+XekZrmPKY EdUgvCiAgtjB/XNeIoacSkEJpBkifs5WVCfRJic08C2W1cxRwS/iVO/uq8HCFQu8XfEy O6ob0s50ySqZKiN0V4zkCaYaMQnrNuo46espXBX14upAhBXbBdkyJsoCiOwonT0K32gd ut5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=8w7+uCUhpHYzbGOZ01QDp28us1IRO4sOqHhMEDTp6HU=; b=Jf7YMQs7D1lM4h33djC9davXUUePFwmUDUiMJMUR+xT1AgE9Dgyl/ekWwbm6MJsArZ HECySOK3lTMlJKdCX5dlqwcUQQ1KJivA+vy/Pfec/v3LHmsScH8vQl5O8IshZFL+Lmfq pu6NmFtrIhBd+LqtBfD7WUXbdgcbBKLOaBa8Osf9vTjf9qjcnp19NLXYwA+8B0RpWDOl IEgJSiCALu5iyVCUWt92IxtZPKbF22w7DurBAWZ/d4iSY1Hphs6r8ZeACj5pJXoaG+N1 E1ukeAK+jsXHb/m6AmwgWJkm+VxAON69GjrHTR11TXUfQHnGnbUF7x+a0eoO7rNanPAd S35w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=BiYJa3L1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g7si3088598ejc.57.2020.04.24.07.18.23; Fri, 24 Apr 2020 07:18:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=BiYJa3L1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728006AbgDXOQB (ORCPT + 99 others); Fri, 24 Apr 2020 10:16:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40334 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727914AbgDXOQA (ORCPT ); Fri, 24 Apr 2020 10:16:00 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5250DC09B045; Fri, 24 Apr 2020 07:16:00 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id h2so10632834wmb.4; Fri, 24 Apr 2020 07:16:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8w7+uCUhpHYzbGOZ01QDp28us1IRO4sOqHhMEDTp6HU=; b=BiYJa3L1GcSsLCZerQTAWPtUGBFNe3HAGW+NlURNhdrUIHx5elsf6OKXLm9Pd8Qhyz SHsVP0xONFLTM0+8MEQTudYClzAUc0NAVzG/NuAgOYVpCaN6Xb7/Y5KKQ34m0jCnVJYR K+3WDdXRQ4M7Jnu3w8hl/XSkLFdp/sWxUydnF5mdRUQV4eEhIbyvFYHcwAwjPQ4KUOL1 jdSRa7oO5bjwZNmgWqNsxhxSRu5DKThAKFe3PU+pijmgadH5BEj/UQLbc833T6GU2D3S tebRFoUOq9csCYKkH1F2n/ddySjJYAT6aRG98nfYpSLfVPp462kyWdugchTc7KdbNeNe qDQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8w7+uCUhpHYzbGOZ01QDp28us1IRO4sOqHhMEDTp6HU=; b=bqzHA0aecUFaxRpgbGlEudNXcefrFnhMflUUP8HLu+5CwS0eK4nqfDvVeo/XXDKY/T popxVD9zWzUPsQ7cmfNXoBQhZJZc4QyztPXiJu3C4+eMsLfp85oYrjdbC1RPRBSrEmXo WWj7/BA5+oPCvWRG5qkvHszpfxS7lCF0fRQF+ITlN5tGKbGz2SCiV6TmT9UsYfhIsxrR AWupyAzGIH3f4PfDi1okywc96B6ncGR0ARTXznvQyKNgzNkzNcovqsOQFqBaWByLRSGU guC2sT0+AHoLCBoBKnacuABA4IbsolsWE5+B6ji51I+NunzIVfo+roxtLYZFQ7PHQiHp GLjg== X-Gm-Message-State: AGi0PuYVkYIspcG6/VL9RaXJ7GOEYTJf6kUhjLzNCk8WPAgtTc7w4IFH CAVkSOzawYdXHGCY27FcU4p2aOzOKPmTkz5T/80= X-Received: by 2002:a1c:6344:: with SMTP id x65mr10535226wmb.56.1587737759026; Fri, 24 Apr 2020 07:15:59 -0700 (PDT) MIME-Version: 1.0 References: <20200424125640.22656-1-colin.king@canonical.com> In-Reply-To: <20200424125640.22656-1-colin.king@canonical.com> From: Alex Deucher Date: Fri, 24 Apr 2020 10:15:48 -0400 Message-ID: Subject: Re: [PATCH][next] drm/amdgpu: fix unlocks on error return path To: Colin King Cc: Alex Deucher , =?UTF-8?Q?Christian_K=C3=B6nig?= , David Zhou , David Airlie , Daniel Vetter , amd-gfx list , Maling list - DRI developers , kernel-janitors@vger.kernel.org, LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 24, 2020 at 8:56 AM Colin King wrote: > > From: Colin Ian King > > Currently the error returns paths are unlocking lock kiq->ring_lock > however it seems this should be dev->gfx.kiq.ring_lock as this > is the lock that is being locked and unlocked around the ring > operations. This looks like a bug, fix it by unlocking the > correct lock. > > [ Note: untested ] > > Addresses-Coverity: ("Missing unlock") > Fixes: 82478876eaac ("drm/amdgpu: protect ring overrun") > Signed-off-by: Colin Ian King It's the same lock, just accessed via a local pointer. I'll take the patch and update the commit message when I apply it to avoid confusion in the future. Alex > --- > drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 2 +- > drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c > index b120f9160f13..edaa50d850a6 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c > @@ -430,7 +430,7 @@ static int gmc_v10_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev, > r = amdgpu_fence_emit_polling(ring, &seq, MAX_KIQ_REG_WAIT); > if (r) { > amdgpu_ring_undo(ring); > - spin_unlock(&kiq->ring_lock); > + spin_unlock(&adev->gfx.kiq.ring_lock); > return -ETIME; > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c > index 0a6026308343..055ecba754ff 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c > @@ -624,7 +624,7 @@ static int gmc_v9_0_flush_gpu_tlb_pasid(struct amdgpu_device *adev, > r = amdgpu_fence_emit_polling(ring, &seq, MAX_KIQ_REG_WAIT); > if (r) { > amdgpu_ring_undo(ring); > - spin_unlock(&kiq->ring_lock); > + spin_unlock(&adev->gfx.kiq.ring_lock); > return -ETIME; > } > > -- > 2.25.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel