diff options
author | 2023-12-08 11:46:53 +0100 | |
---|---|---|
committer | 2023-12-15 14:10:40 +1000 | |
commit | 46dec61643d7047c9b5929f98a2b7fa4fa93a7dc (patch) | |
tree | e3deab4c8a1146e7f3af0a30ad4c9313711a0f78 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | Merge tag 'drm-misc-fixes-2023-12-14' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes (diff) | |
download | wireguard-linux-46dec61643d7047c9b5929f98a2b7fa4fa93a7dc.tar.xz wireguard-linux-46dec61643d7047c9b5929f98a2b7fa4fa93a7dc.zip |
drm/nouveau: Fixup gk20a instobj hierarchy
Commit 12c9b05da918 ("drm/nouveau/imem: support allocations not
preserved across suspend") uses container_of() to cast from struct
nvkm_memory to struct nvkm_instobj, assuming that all instance objects
are derived from struct nvkm_instobj. For the gk20a family that's not
the case and they are derived from struct nvkm_memory instead. This
causes some subtle data corruption (nvkm_instobj.preserve ends up
mapping to gk20a_instobj.vaddr) that causes a NULL pointer dereference
in gk20a_instobj_acquire_iommu() (and possibly elsewhere) and also
prevents suspend/resume from working.
Fix this by making struct gk20a_instobj derive from struct nvkm_instobj
instead.
Fixes: 12c9b05da918 ("drm/nouveau/imem: support allocations not preserved across suspend")
Reported-by: Jonathan Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231208104653.1917055-1-thierry.reding@gmail.com
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions