In the Linux kernel, the following vulnerability has been resolved:
RDMA/cma: Fix hang when cmaneteventcallback fails to queue_work
The cited commit fixed a crash when cmaneteventcallback was called for a cma_id while work on that id from a previous call had not yet started. The work item was re-initialized in the second call, which corrupted the work item currently in the work queue.
However, it left a problem when queuework fails (because the item is still pending in the work queue from a previous call). In this case, cmaid_put (which is called in the work handler) is therefore not called. This results in a userspace process hang (zombie process).
Fix this by calling cmaidput() if queue_work fails.