In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: fix lock warning in amdgpuuserqfencedriverprocess Fix a potential deadlock caused by inconsistent spinlock usage between interrupt and process contexts in the userq fence driver. The issue occurs when amdgpuuserqfencedriverprocess() is called from both: - Interrupt context: gfxv110eopirq() -> amdgpuuserqfencedriverprocess() - Process context: amdgpuevictionfencesuspendworker() -> amdgpuuserqfencedriverforcecompletion() -> amdgpuuserqfencedriverprocess() In interrupt context, the spinlock was acquired without disabling interrupts, leaving it in {IN-HARDIRQ-W} state. When the same lock is acquired in process context, the kernel detects inconsistent locking since the process context acquisition would enable interrupts while holding a lock previously acquired in interrupt context. Kernel log shows: [ 4039.310790] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage. [ 4039.310804] kworker/7:2/409 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 4039.310818] ffff9284e1bed000 (&fencedrv->fencelistlock){?...}-{3:3}, [ 4039.310993] {IN-HARDIRQ-W} state was registered at: [ 4039.311004] lockacquire+0xc6/0x300 [ 4039.311018] rawspinlock+0x39/0x80 [ 4039.311031] amdgpuuserqfencedriverprocess.part.0+0x30/0x180 [amdgpu] [ 4039.311146] amdgpuuserqfencedriverprocess+0x17/0x30 [amdgpu] [ 4039.311257] gfxv110eopirq+0x132/0x170 [amdgpu] Fix by using spinlockirqsave()/spinunlockirqrestore() to properly manage interrupt state regardless of calling context. (cherry picked from commit ded3ad780cf97a04927773c4600823b84f7f3cc2)