aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c
diff options
context:
space:
mode:
authorLuis Henriques <[email protected]>2025-03-06 11:12:18 +0000
committerChristian Brauner <[email protected]>2025-03-19 13:00:11 +0000
commitd55011469b41d9da6c06cb1c4a4da7a87fe155bc (patch)
tree36778d40dccf1051aa1b88f4a0683b537ddd659c /drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c
parentMerge patch series "netfs: Miscellaneous fixes" (diff)
downloadkernel-d55011469b41d9da6c06cb1c4a4da7a87fe155bc.tar.gz
kernel-d55011469b41d9da6c06cb1c4a4da7a87fe155bc.zip
fuse: fix possible deadlock if rings are never initialized
When mounting a user-space filesystem using io_uring, the initialization of the rings is done separately in the server side. If for some reason (e.g. a server bug) this step is not performed it will be impossible to unmount the filesystem if there are already requests waiting. This issue is easily reproduced with the libfuse passthrough_ll example, if the queue depth is set to '0' and a request is queued before trying to unmount the filesystem. When trying to force the unmount, fuse_abort_conn() will try to wake up all tasks waiting in fc->blocked_waitq, but because the rings were never initialized, fuse_uring_ready() will never return 'true'. Fixes: 3393ff964e0f ("fuse: block request allocation until io-uring init is complete") Signed-off-by: Luis Henriques <[email protected]> Link: https://lore.kernel.org/r/[email protected] Acked-by: Miklos Szeredi <[email protected]> Reviewed-by: Bernd Schubert <[email protected]> Signed-off-by: Christian Brauner <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c')
0 files changed, 0 insertions, 0 deletions