Ilia Mirkin
2016-Jan-06  14:23 UTC
[Nouveau] Backport request for commit 579b7c582 (drm/nouveau/pmu: do not assume a PMU is present)
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);
 }
Greg KH
2016-Feb-14  22:12 UTC
[Nouveau] Backport request for commit 579b7c582 (drm/nouveau/pmu: do not assume a PMU is present)
On Wed, Jan 06, 2016 at 09:23:20AM -0500, Ilia Mirkin wrote:> 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> >Now applied, thanks. greg k-h