In the Linux kernel, the following vulnerability has been resolved: vhost: Take a reference on the task in struct vhosttask. vhosttaskcreate() creates a task and keeps a reference to its taskstruct. That task may exit early via a signal and its taskstruct will be released. A pending vhosttaskwake() will then attempt to wake the task and access a taskstruct which is no longer there. Acquire a reference on the taskstruct while creating the thread and release the reference while the struct vhosttask itself is removed. If the task exits early due to a signal, then the vhosttaskwake() will still access a valid task_struct. The wake is safe and will be skipped in this case.