Loading
drm/amdgpu: validate doorbell_offset in user queue creation
amdgpu_userq_get_doorbell_index() passes the user-provided doorbell_offset to amdgpu_doorbell_index_on_bar() without bounds checking. An arbitrarily large doorbell_offset can cause the calculated doorbell index to fall outside the allocated doorbell BO, potentially corrupting kernel doorbell space. Validate that doorbell_offset falls within the doorbell BO before computing the BAR index, using u64 arithmetic to prevent overflow. Fixes: f09c1e60 ("drm/amdgpu: generate doorbell index for userqueue") Reported-by:Yuhao Jiang <danisjiang@gmail.com> Signed-off-by:
Junrui Luo <moonafterrain@outlook.com> Signed-off-by:
Alex Deucher <alexander.deucher@amd.com> (cherry picked from commit de1ef4ff) Cc: stable@vger.kernel.org