Re: amdgpu RX6800 crashes kernel during startx
Jonathan Gray <[email protected]> Mon, 15 Jun 2026 10:26:40 +1000
| Newsgroups | gmane.os.openbsd.bugs |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Jun 14, 2026 at 09:52:53PM +0300, Petre Rodan wrote: > pulse amd radeon rx6800 sapphire related page fault while running 'startx' on a fresh install of OpenBSD 7.9 > > drm_sched_entity_init: called with uninitialized scheduler > drm_sched_entity_init: called with uninitialized scheduler > drm:pid84477:drm_sched_job_init *ERROR* drm_sched_job_init: entity has no rq! > uvm_fault(0xfffffd8738629018, 0x210, 0, 1) -> e > kernel: page fault trap, code=0 > Stopped at amdgpu_bo_unreserve+0x1a: movq 0x210(%rdi),%rdi > TID PID UID PRFLAGS PFLAGS CPU COMMAND > *102762 84477 1000 0x2 0 1K Xorg > amdgpu_bo_unreserve(0) at amdgpu_bo_unreserve+0x1a > amdgpu_vm_init(ffff80000050b000,ffff8000016d9000,0,0) at amdgpu_vm_init+0x510 > amdgpu_driver_open_kms(ffff80000050b058,ffff800001780c00) at amdgpu_driver_open > _kms+0x145 > drm_file_alloc(ffff8000004fb500) at drm_file_alloc+0x251 > drmopen(15700,3,2000,ffff80006bcb82e0) at drmopen+0x12c > spec_open_clone(ffff80006bd055a8) at spec_open_clone+0x166 > spec_open(ffff80006bd055a8) at spec_open+0x198 > VOP_OPEN(fffffd8739550d08,3,fffffd883eae1a90,ffff80006bcb82e0) at VOP_OPEN+0x57 I don't yet see how vm->root.bo could be NULL in this error path. Try this diff (against -current, might apply to 7.9) Index: sys/dev/pci/drm/amd/amdgpu/amdgpu_vm.c =================================================================== RCS file: /cvs/src/sys/dev/pci/drm/amd/amdgpu/amdgpu_vm.c,v diff -u -p -r1.35 amdgpu_vm.c --- sys/dev/pci/drm/amd/amdgpu/amdgpu_vm.c 10 Jun 2026 00:19:24 -0000 1.35 +++ sys/dev/pci/drm/amd/amdgpu/amdgpu_vm.c 15 Jun 2026 00:06:30 -0000 @@ -2749,7 +2749,8 @@ error_free_root: vm->pasid = 0; } amdgpu_vm_pt_free_root(adev, vm); - amdgpu_bo_unreserve(vm->root.bo); + if (vm->root.bo) + amdgpu_bo_unreserve(vm->root.bo); amdgpu_bo_unref(&root_bo); error_free_delayed: