summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mm/secretmem.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/mm/secretmem.c b/mm/secretmem.c
index 589b26c2d553..ef4922baa1cd 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;