In the Linux kernel, the following vulnerability has been resolved:
drm/i915/gt: Use spinlockirqsave() in interruptible context
spin_lock/unlock() functions used in interrupt contexts could result in a deadlock, as seen in GitLab issue #13399, which occurs when interrupt comes in while holding a lock.
Try to remedy the problem by saving irq state before spin lock acquisition.
v2: add irqs' state save/restore calls to all locks/unlocks in signalirqwork() execution (Maciej)
v3: use with spinlockirqsave() in guclrcdesc_unpin() instead of other lock/unlock calls and add Fixes and Cc tags (Tvrtko); change title and commit message
(cherry picked from commit c088387ddd6482b40f21ccf23db1125e8fa4af7e)