]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/amdgpu: reject mapping a reserved doorbell to a new queue
authorZhu Lingshan <lingshan.zhu@amd.com>
Wed, 24 Jun 2026 07:52:35 +0000 (15:52 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 1 Jul 2026 17:00:10 +0000 (13:00 -0400)
commita609b6278bf3cde17eeee6620091465521e4b02c
tree9b3129a0ba7aa1b05cbb2696c08a293110463a13
parentac11060c6d4959e2d4ceada037d2e1e1bfcf6645
drm/amdgpu: reject mapping a reserved doorbell to a new queue

When creating an user-queue, the user space
provides a doorbell BO handle and an offset within
the bo to obtain a doorbell.

However current implementation using xa_store_irq()
to store a doorbell, which allows a later queue created
with the same BO and offset parameters to overwrite an
existing queue and doorbell mapping.

This can cause problems like misrouting fence IRQ
processing to a wrong queue, and mislead the cleanup
process of one queue erasing the mapping of another queue.

This commit fixes this issue by replacing xa_store_irq with
xa_insert_irq, which rejects mapping a reserved
doorbell to a newly created queue

Signed-off-by: Zhu Lingshan <lingshan.zhu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 6244eae22966350db52faf9c1369d3b2ffc5de4e)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c