In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu/gfx: disable gfx9 cpeccerror_irq only when enabling legacy gfx ras
gfx9 cpeccerrorirq is only enabled when legacy gfx ras is assert. So in gfxv90hwfini, interrupt disablement for cpeccerrorirq should be executed under such condition, otherwise, an amdgpuirqput calltrace will occur.
[ 7283.170322] RIP: 0010:amdgpuirqput+0x45/0x70 [amdgpu] [ 7283.170964] RSP: 0018:ffff9a5fc3967d00 EFLAGS: 00010246 [ 7283.170967] RAX: ffff98d88afd3040 RBX: ffff98d89da20000 RCX: 0000000000000000 [ 7283.170969] RDX: 0000000000000000 RSI: ffff98d89da2bef8 RDI: ffff98d89da20000 [ 7283.170971] RBP: ffff98d89da20000 R08: ffff98d89da2ca18 R09: 0000000000000006 [ 7283.170973] R10: ffffd5764243c008 R11: 0000000000000000 R12: 0000000000001050 [ 7283.170975] R13: ffff98d89da38978 R14: ffffffff999ae15a R15: ffff98d880130105 [ 7283.170978] FS: 0000000000000000(0000) GS:ffff98d996f00000(0000) knlGS:0000000000000000 [ 7283.170981] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 7283.170983] CR2: 00000000f7a9d178 CR3: 00000001c42ea000 CR4: 00000000003506e0 [ 7283.170986] Call Trace: [ 7283.170988] <TASK> [ 7283.170989] gfxv90hwfini+0x1c/0x6d0 [amdgpu] [ 7283.171655] amdgpudeviceipsuspendphase2+0x101/0x1a0 [amdgpu] [ 7283.172245] amdgpudevicesuspend+0x103/0x180 [amdgpu] [ 7283.172823] amdgpupmopsfreeze+0x21/0x60 [amdgpu] [ 7283.173412] pcipmfreeze+0x54/0xc0 [ 7283.173419] ? _pfxpcipmfreeze+0x10/0x10 [ 7283.173425] dpmruncallback+0x98/0x200 [ 7283.173430] _devicesuspend+0x164/0x5f0
v2: drop gfx11 as it's fixed in a different solution by retiring cpeccirq funcs(Hawking)