DF-1593 / fix.diff
diff --git a/sys/dev/drm/radeon/rv515.c b/sys/dev/drm/radeon/rv515.c --- a/sys/dev/drm/radeon/rv515.c +++ b/sys/dev/drm/radeon/rv515.c @@ -254,9 +254,16 @@ struct radeon_device *rdev = dev->dev_private; uint32_t tmp; + /* + * DF-1593: this debugfs entry is world-readable (S_IRUGO) and an + * unprivileged reader can trigger a full GPU reset that aborts CP + * rings, drops in-flight DMA, blanks displays and crashes X/Wayland. + * Drop the asic_reset() between the two register reads; sibling + * ASIC debugfs ga_info handlers do not reset. If a reset is + * genuinely needed, expose it via a root-only knob. + */ tmp = RREG32(0x2140); seq_printf(m, "VAP_CNTL_STATUS 0x%08x\n", tmp); - radeon_asic_reset(rdev); tmp = RREG32(0x425C); seq_printf(m, "GA_IDLE 0x%08x\n", tmp); return 0; |