]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
gfs2: don't allow delegations to be set on directories
authorJeff Layton <jlayton@kernel.org>
Wed, 7 Jan 2026 14:20:12 +0000 (09:20 -0500)
committerChristian Brauner <brauner@kernel.org>
Mon, 12 Jan 2026 09:54:47 +0000 (10:54 +0100)
With the advent of directory leases, it's necessary to set the
->setlease() handler in directory file_operations to properly deny them.

In the "nolock" case however, there is no need to deny them.

Fixes: e6d28ebc17eb ("filelock: push the S_ISREG check down to ->setlease handlers")
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Link: https://patch.msgid.link/20260107-setlease-6-19-v1-4-85f034abcc57@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/gfs2/file.c

index b2d23c98c996553ee14f1969638e709a3d7ede1c..86376f0dbf3a553375b0064c9a1eff3bfa9651f5 100644 (file)
@@ -1608,6 +1608,7 @@ const struct file_operations gfs2_dir_fops = {
        .lock           = gfs2_lock,
        .flock          = gfs2_flock,
        .llseek         = default_llseek,
+       .setlease       = simple_nosetlease,
        .fop_flags      = FOP_ASYNC_LOCK,
 };