Re: [PATCH v2] fs: forbid invalid project ID
From: Wang Shilong <hidden>
Date: 2021-07-01 15:37:47
Also in:
linux-f2fs-devel, linux-fsdevel, linux-xfs
From: Wang Shilong <hidden>
Date: 2021-07-01 15:37:47
Also in:
linux-f2fs-devel, linux-fsdevel, linux-xfs
On Tue, Jun 29, 2021 at 6:34 AM Dave Chinner [off-list ref] wrote:
On Mon, Jun 28, 2021 at 08:38:01AM -0400, Wang Shilong wrote:quoted
fileattr_set_prepare() should check if project ID is valid, otherwise dqget() will return NULL for such project ID quota. Signed-off-by: Wang Shilong <redacted> --- v1->v2: try to fix in the VFS --- fs/ioctl.c | 3 +++ 1 file changed, 3 insertions(+)diff --git a/fs/ioctl.c b/fs/ioctl.c index 1e2204fa9963..5db5b218637b 100644 --- a/fs/ioctl.c +++ b/fs/ioctl.c@@ -845,6 +845,9 @@ static int fileattr_set_prepare(struct inode *inode, if (fa->fsx_cowextsize == 0) fa->fsx_xflags &= ~FS_XFLAG_COWEXTSIZE; + if (!projid_valid(KPROJIDT_INIT(fa->fsx_projid))) + return -EINVAL;This needs to go further up in this function in the section where project IDs passed into this function are validated. Projids are only allowed to be changed when current_user_ns() == &init_user_ns, so this needs to be associated with that verification context. This check should also use make_kprojid(), please, not open code KPROJIDT_INIT.
You are right, let me send a V3
Cheers, Dave. -- Dave Chinner david@fromorbit.com