summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/subdev
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2017-03-10 17:16:48 +0900
committerDave Airlie <airlied@redhat.com>2017-03-17 12:06:58 +1000
commitb7d6c8db498cdbbd0004970d02c86210ce3a6cbc (patch)
treecc8af2a8e4763159e66f89518f8ef7f18056467c /drivers/gpu/drm/nouveau/nvkm/subdev
parentaa7fc0ca759eb25eea6dc0fee4373e5883a17498 (diff)
downloadop-kernel-dev-b7d6c8db498cdbbd0004970d02c86210ce3a6cbc.zip
op-kernel-dev-b7d6c8db498cdbbd0004970d02c86210ce3a6cbc.tar.gz
drm/nouveau/secboot: fix NULL pointer dereference
The msgqueue pointer validity should be checked by its owner, not by the msgqueue code itself to avoid this situation. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Reported-by: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/subdev')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
index 48ae02d..44bef22 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gm20b.c
@@ -27,6 +27,12 @@
static void
gm20b_pmu_recv(struct nvkm_pmu *pmu)
{
+ if (!pmu->queue) {
+ nvkm_warn(&pmu->subdev,
+ "recv function called while no firmware set!\n");
+ return;
+ }
+
nvkm_msgqueue_recv(pmu->queue);
}
OpenPOWER on IntegriCloud