From: Matt Ezell Date: Tue, 23 Jan 2024 15:40:52 +0000 (+0300) Subject: LU-13257 llite: Disallow users to set/clear group lock flag X-Git-Tag: 2.15.62~188 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=refs%2Fchanges%2F82%2F53782%2F3;p=fs%2Flustre-release.git 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 --- 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)) {