From: Al Viro Date: Wed, 3 May 2023 20:50:18 +0000 (-0400) Subject: secretmem: move setting O_LARGEFILE and bumping users' count to the place where we... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1812de14f04848daa354f99e9240e0f7c643718c;p=thirdparty%2Fkernel%2Flinux.git secretmem: move setting O_LARGEFILE and bumping users' count to the place where we create the file Acked-by: Andrew Morton Acked-by: Mike Rapoport (Microsoft) Signed-off-by: Al Viro --- diff --git a/mm/secretmem.c b/mm/secretmem.c index 589b26c2d553c..ef4922baa1cdd 100644 --- a/mm/secretmem.c +++ b/mm/secretmem.c @@ -208,7 +208,7 @@ static struct file *secretmem_file_create(unsigned long flags) } file = alloc_file_pseudo(inode, secretmem_mnt, "secretmem", - O_RDWR, &secretmem_fops); + O_RDWR | O_LARGEFILE, &secretmem_fops); if (IS_ERR(file)) goto err_free_inode; @@ -222,6 +222,8 @@ static struct file *secretmem_file_create(unsigned long flags) inode->i_mode |= S_IFREG; inode->i_size = 0; + atomic_inc(&secretmem_users); + return file; err_free_inode: @@ -255,9 +257,6 @@ SYSCALL_DEFINE1(memfd_secret, unsigned int, flags) goto err_put_fd; } - file->f_flags |= O_LARGEFILE; - - atomic_inc(&secretmem_users); fd_install(fd, file); return fd;