Re: [PATCH 6.1.y] drm/amdgpu: remove two invalid BUG_ON()s

From: Christian König

Date: Wed Apr 22 2026 - 10:16:17 EST


Those points are certainly valid.

I've also up-streamed a patch which completely rejects userspace submissions who try to use the CE.

The problem is that those BUG_ON() can lead to a deny of service because they crash the whole kernel.

A BUG_ON() is only justified if it prevents even worse things to happen, e.g. data corruption or it would crash later on anyway just not so obvious on what is wrong.

Otherwise we should use WARN_ON().

Regards,
Christian.

On 4/22/26 16:03, Timur Kristóf wrote:
> Hi,
>
> In my opinion, this BUG_ON should NOT be removed.
>
> Using the CE was never well-supported by amdgpu and can lead to serious
> issues, so we are planning to remove it entirely. Userspace isn't using it, so
> there is no loss of functionality here.
>
> Mesa (the official userspace drivers) have never used CE and never will.
>
> Best regards,
> Timur
>
> On Friday, April 17, 2026 9:40:10 AM Central European Summer Time Robert
> Garcia wrote:
>> From: Christian König <christian.koenig@xxxxxxx>
>>
>> [ Upstream commit 5d55ed19d4190d2c210ac05ac7a53f800a8c6fe5 ]
>>
>> Those can be triggered trivially by userspace.
>>
>> Signed-off-by: Christian König <christian.koenig@xxxxxxx>
>> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx>
>> Acked-by: Timur Kristóf <timur.kristof@xxxxxxxxx>
>> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
>> [ Modified to gfx_v11_0.c only. ]
>> Signed-off-by: Robert Garcia <rob_garcia@xxxxxxx>
>> ---
>> drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 2 --
>> 1 file changed, 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
>> b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c index 37f793f7d4d2..6e3a32779168
>> 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
>> @@ -5380,8 +5380,6 @@ static void gfx_v11_0_ring_emit_ib_gfx(struct
>> amdgpu_ring *ring, unsigned vmid = AMDGPU_JOB_GET_VMID(job);
>> u32 header, control = 0;
>>
>> - BUG_ON(ib->flags & AMDGPU_IB_FLAG_CE);
>> -
>> header = PACKET3(PACKET3_INDIRECT_BUFFER, 2);
>>
>> control |= ib->length_dw | (vmid << 24);
>
>
>
>