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