From aa07458ae1d20b492a14340683e9a278f6817e5e Mon Sep 17 00:00:00 2001 From: Matt Ezell Date: Tue, 23 Jan 2024 18:40:52 +0300 Subject: [PATCH] LU-13257 llite: Disallow users to set/clear group lock flag Group locks are created/freed via dedicated ioctls. Disallow manually setting or clearing the flag. HPE-bug-id: LUS-12078 Signed-off-by: Vitaly Fertman Signed-off-by: Matt Ezell Change-Id: Id5022cc02a7bdce2f0150592470e8336b4537a61 Reviewed-on: https://es-gerrit.hpc.amslabs.hpecorp.net/162708 Reviewed-by: Andriy Skulysh Reviewed-by: Vitaly Fertman Tested-by: Alexander Lezhoev Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/53782 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin Reviewed-by: Andreas Dilger --- lustre/llite/file.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lustre/llite/file.c b/lustre/llite/file.c index 945f49c8..ffc16d2 100644 --- a/lustre/llite/file.c +++ b/lustre/llite/file.c @@ -4366,6 +4366,10 @@ ll_file_ioctl(struct file *file, unsigned int cmd, unsigned long arg) if (get_user(flags, (int __user *)arg)) RETURN(-EFAULT); + /* LL_FILE_GROUP_LOCKED is managed via its own ioctls */ + if (flags & LL_FILE_GROUP_LOCKED) + RETURN(-EINVAL); + if (cmd == LL_IOC_SETFLAGS) { if ((flags & LL_FILE_IGNORE_LOCK) && !(file->f_flags & O_DIRECT)) { -- 1.8.3.1