drm/amdgpu: fix AMDGPU_INFO_READ_MMR_REG
authorChristian König <christian.koenig@amd.com>
Fri, 17 Apr 2026 13:52:45 +0000 (15:52 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 24 Apr 2026 14:49:04 +0000 (10:49 -0400)
commit361b6e6b303d4b691f6c5974d3eaab67ca6dd90e
tree202ec758d8160002fb5a72fcf5690e5cd439efe9
parent3427dea3a48ebddb491a26093f3627384b3cb2c2
drm/amdgpu: fix AMDGPU_INFO_READ_MMR_REG

There were multiple issues in that code.

First of all the order between the reset semaphore and the mm_lock was
wrong (e.g. copy_to_user) was called while holding the lock.

Then we allocated memory while holding the reset semaphore which is also
a pretty big bug and can deadlock.

Then we used down_read_trylock() instead of waiting for the reset to
finish.

Signed-off-by: Christian König <christian.koenig@amd.com>
Fixes: 9e823f307074 ("drm/amdgpu: Block MMR_READ IOCTL in reset")
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c