[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20251225111156.47987-1-zhangtianci.1997@bytedance.com>
Date: Thu, 25 Dec 2025 19:11:56 +0800
From: Zhang Tianci <zhangtianci.1997@...edance.com>
To: miklos@...redi.hu
Cc: linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
xieyongji@...edance.com,
Zhang Tianci <zhangtianci.1997@...edance.com>,
Li Yichao <liyichao.1@...edance.com>
Subject: [PATCH] fuse: set ff->flock only on success
If FUSE_SETLK fails (e.g., due to EWOULDBLOCK), we shall not set
FUSE_RELEASE_FLOCK_UNLOCK in fuse_file_release().
Reported-by: Li Yichao <liyichao.1@...edance.com>
Signed-off-by: Zhang Tianci <zhangtianci.1997@...edance.com>
---
fs/fuse/file.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index 01bc894e9c2ba..d83ef81e3b9b3 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -2563,8 +2563,9 @@ static int fuse_file_flock(struct file *file, int cmd, struct file_lock *fl)
struct fuse_file *ff = file->private_data;
/* emulate flock with POSIX locks */
- ff->flock = true;
err = fuse_setlk(file, fl, 1);
+ if (!err)
+ ff->flock = true;
}
return err;
--
2.39.5
Powered by blists - more mailing lists