]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
9p: don't allow delegations to be set on directories
authorJeff Layton <jlayton@kernel.org>
Wed, 7 Jan 2026 14:20:11 +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.

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-3-85f034abcc57@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/9p/vfs_dir.c

index e0d34e4e9076e3b1a6c5ed07a3e009a50c9fa2a9..af7f72abbb76aaff934b80d4002f32e3b0d17b6d 100644 (file)
@@ -242,6 +242,7 @@ const struct file_operations v9fs_dir_operations = {
        .iterate_shared = v9fs_dir_readdir,
        .open = v9fs_file_open,
        .release = v9fs_dir_release,
+       .setlease = simple_nosetlease,
 };
 
 const struct file_operations v9fs_dir_operations_dotl = {
@@ -251,4 +252,5 @@ const struct file_operations v9fs_dir_operations_dotl = {
        .open = v9fs_file_open,
        .release = v9fs_dir_release,
        .fsync = v9fs_file_fsync_dotl,
+       .setlease = simple_nosetlease,
 };