In the Linux kernel, the following vulnerability has been resolved:
pdscore: make waitcontext part of q_info
Make the waitcontext a full part of the qinfo struct rather than a stack variable that goes away after pdscadminqpost() is done so that the context is still available after the wait loop has given up.
There was a case where a slow development firmware caused the adminq request to time out, but then later the FW finally finished the request and sent the interrupt. The handler tried to completeall() the completion context that had been created on the stack in pdscadminq_post() but no longer existed. This caused bad pointer usage, kernel crashes, and much wailing and gnashing of teeth.