aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
diff options
context:
space:
mode:
authorDanny Lin <[email protected]>2024-04-14 00:34:31 +0000
committerMiklos Szeredi <[email protected]>2024-04-15 08:12:44 +0000
commiteb4b691b9115fae4c844f5941418335575cf667f (patch)
treeaa8dadfa942c65ef35d2167268b66d6383e80ddf /drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
parentfuse: fix parallel dio write on file open in passthrough mode (diff)
downloadkernel-eb4b691b9115fae4c844f5941418335575cf667f.tar.gz
kernel-eb4b691b9115fae4c844f5941418335575cf667f.zip
fuse: fix leaked ENOSYS error on first statx call
FUSE attempts to detect server support for statx by trying it once and setting no_statx=1 if it fails with ENOSYS, but consider the following scenario: - Userspace (e.g. sh) calls stat() on a file * succeeds - Userspace (e.g. lsd) calls statx(BTIME) on the same file - request_mask = STATX_BASIC_STATS | STATX_BTIME - first pass: sync=true due to differing cache_mask - statx fails and returns ENOSYS - set no_statx and retry - retry sets mask = STATX_BASIC_STATS - now mask == cache_mask; sync=false (time_before: still valid) - so we take the "else if (stat)" path - "err" is still ENOSYS from the failed statx call Fix this by zeroing "err" before retrying the failed call. Fixes: d3045530bdd2 ("fuse: implement statx") Cc: [email protected] # v6.6 Signed-off-by: Danny Lin <[email protected]> Signed-off-by: Miklos Szeredi <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c')
0 files changed, 0 insertions, 0 deletions