[Nouveau] Backport request for commit 579b7c582 (drm/nouveau/pmu: do not assume a PMU is present)

Ilia Mirkin imirkin at alum.mit.edu
Wed Jan 6 06:23:20 PST 2016


This commit should be backported to kernel 4.3 (apologies for
line-wrapping). Without it, we get a null deref (i.e. oops) on GF117
GPUs which for one reason or another don't have the PMU hooked up.
That should be fixed in its own right, but that's a separate matter.
The issue was introduced in commit e2ca4e7d6e (drm/nouveau/pmu:
convert to new-style nvkm_subdev)

commit 579b7c58215329803ce184704463de09f0f310ac
Author: Alexandre Courbot <acourbot at nvidia.com>
Date:   Thu Sep 3 17:39:52 2015 +0900

    drm/nouveau/pmu: do not assume a PMU is present

    Some devices may not have a PMU. Avoid a NULL pointer dereference in
    such cases by checking whether the pointer given to nvkm_pmu_pgob() is
    valid.

    Signed-off-by: Alexandre Courbot <acourbot at nvidia.com>
    Signed-off-by: Ben Skeggs <bskeggs at redhat.com>

diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c
b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c
index 27a79c0..d95eb86 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c
@@ -28,7 +28,7 @@
 void
 nvkm_pmu_pgob(struct nvkm_pmu *pmu, bool enable)
 {
-       if (pmu->func->pgob)
+       if (pmu && pmu->func->pgob)
                pmu->func->pgob(pmu, enable);
 }


More information about the Nouveau mailing list