I ended up reproducing the crash by intentionally stressing out my swap
file again, though this time the stack trace was different.

On my first crash, it followed amdgpu_cs_ioctl -> amdgpu_cs_submit ->
amdgpu_vm_move_to_lru_tail -> *ttm_lru_bulk_move_tail*.

On my second crash, it followed amdgpu_vm_validate ->
amdgpu_cs_bo_validate -> ttm_bo_validate -> ttm_bo_bounce_temp_buffer ->
ttm_bo_handle_move_mem -> ttm_bo_populate -> ttm_tt_populate ->
*ttm_resource_add_bulk_move*.

The source code for both of the crashing functions can be found in
https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/ttm/ttm_resource.c.

In the 2nd crash specifically, ttm_resource_add_bulk_move() is called
with the arguments bo->resource and bo (struct ttm_buffer_object*) by
ttm_bo_populate, and seems to refer specifically to bo->bulk_move
(struct ttm_lru_bulk_move*).

In the 1st crash, ttm_lru_bulk_move_tail() is called with the argument
&vm->lru_bulk_move (struct ttm_lru_bulk_move*) by
amdgpu_vm_move_to_lru_tail.

So, both crashes seem to be caused by a null pointer dereference of a
struct ttm_lru_bulk_move* object. (I mean okay I could be wrong I'm not
a kernel contributor but it does seem to point to that object
specifically)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2163363

Title:
  [amdgpu/ttm] TTM list corruption and NULL dereference under GPU memory
  pressure on ASUS ProArt PX13 (7.0.0-29)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2163363/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to