NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PR kern/57833: kernel panic on xorg exit



Aside from working around the symptom -- do you get a core dump, and do you
have netbsd.gdb for a kernel which produces it?

If so, can you go to the i915_gem_object_release_mmap_offset frame,
and print some information?

# gdb ./netbsd.gdb
(gdb) target kvm netbsd.42.core
(gdb) frame 3            # or whatever the frame number is
(gdb) info locals
(gdb) print *obj
(gdb) print *obj->mm.pages
(gdb) print obj->mm.pages->sgl->sg_pgs[0]
diff --git a/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.c b/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.c
index 8e592f008ef7..276ebbdbc234 100644
--- a/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.c
+++ b/sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.c
@@ -677,6 +677,8 @@ void i915_gem_object_release_mmap_offset(struct drm_i915_gem_object *obj)
 		return;
 	for (i = 0; i < obj->base.size >> PAGE_SHIFT; i++) {
 		page = obj->mm.pages->sgl->sg_pgs[i];
+		if (page == NULL)
+			continue;
 		vm_page = &page->p_vmp;
 		pmap_page_protect(vm_page, VM_PROT_NONE);
 	}


Home | Main Index | Thread Index | Old Index