diff options
| author | Mike Christie <[email protected]> | 2023-06-26 18:22:51 -0500 |
|---|---|---|
| committer | Michael S. Tsirkin <[email protected]> | 2023-07-03 12:15:13 -0400 |
| commit | 3e11c6eb6ab07de36cde49594e16fed044bf276e (patch) | |
| tree | 8bf6a115a61128a7a3981b26f8b75f67598ee7df /drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | |
| parent | 3845308fc8b0bc6a9345df4f69ef56f9adc52218 (diff) | |
vhost: create worker at end of vhost_dev_set_owner
vsock can start queueing work after VHOST_VSOCK_SET_GUEST_CID, so
after we have called vhost_worker_create it can be calling
vhost_work_queue and trying to access the vhost worker/task. If
vhost_dev_alloc_iovecs fails, then vhost_worker_free could free
the worker/task from under vsock.
This moves vhost_worker_create to the end of vhost_dev_set_owner
where we know we can no longer fail in that path. If it fails
after the VHOST_SET_OWNER and userspace closes the device, then
the normal vsock release handling will do the right thing.
Signed-off-by: Mike Christie <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Michael S. Tsirkin <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c')
0 files changed, 0 insertions, 0 deletions