drm/nouveau: Fix copy-paste error in nouveau_fence_wait_uevent_handler
authorYueHaibing <yuehaibing@huawei.com>
Fri, 10 Jan 2020 06:32:01 +0000 (14:32 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 24 Feb 2020 07:36:48 +0000 (08:36 +0100)
[ Upstream commit 1eb013473bff5f95b6fe1ca4dd7deda47257b9c2 ]

Like other cases, it should use rcu protected 'chan' rather
than 'fence->channel' in nouveau_fence_wait_uevent_handler.

Fixes: 0ec5f02f0e2c ("drm/nouveau: prevent stale fence->channel pointers, and protect with rcu")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/nouveau/nouveau_fence.c

index 9118df035b28da6fb00e5c51b12fc86d5f4d2e85..70bb6bb97af87182ce25728b43ac305dc6d8ed51 100644 (file)
@@ -156,7 +156,7 @@ nouveau_fence_wait_uevent_handler(struct nvif_notify *notify)
 
                fence = list_entry(fctx->pending.next, typeof(*fence), head);
                chan = rcu_dereference_protected(fence->channel, lockdep_is_held(&fctx->lock));
-               if (nouveau_fence_update(fence->channel, fctx))
+               if (nouveau_fence_update(chan, fctx))
                        ret = NVIF_NOTIFY_DROP;
        }
        spin_unlock_irqrestore(&fctx->lock, flags);