]> git.ipfire.org Git - thirdparty/linux.git/commit
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 15:09:49 +0000 (11:09 -0400)
commit0ef196a208385b7d7da79f411c161b04e97283e2
tree600d77ae2221a5c52b65f21003fb5787c3018f2c
parentccf8932ed8cf4fbfdcd4df2c6b524913691ee700
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>
(cherry picked from commit 361b6e6b303d4b691f6c5974d3eaab67ca6dd90e)
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c