]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
secretmem: convert memfd_secret() to FD_ADD()
authorChristian Brauner <brauner@kernel.org>
Sun, 23 Nov 2025 16:33:44 +0000 (17:33 +0100)
committerChristian Brauner <brauner@kernel.org>
Fri, 28 Nov 2025 11:42:34 +0000 (12:42 +0100)
Link: https://patch.msgid.link/20251123-work-fd-prepare-v4-26-b6efa1706cfd@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
mm/secretmem.c

index 60137305bc20fdab7d99a91eb6e5fcb413d0d9f6..eb950f8193c9ac8de96d1d9e8f2b71fc60d6e8d5 100644 (file)
@@ -224,9 +224,6 @@ err_free_inode:
 
 SYSCALL_DEFINE1(memfd_secret, unsigned int, flags)
 {
-       struct file *file;
-       int fd, err;
-
        /* make sure local flags do not confict with global fcntl.h */
        BUILD_BUG_ON(SECRETMEM_FLAGS_MASK & O_CLOEXEC);
 
@@ -238,22 +235,7 @@ SYSCALL_DEFINE1(memfd_secret, unsigned int, flags)
        if (atomic_read(&secretmem_users) < 0)
                return -ENFILE;
 
-       fd = get_unused_fd_flags(flags & O_CLOEXEC);
-       if (fd < 0)
-               return fd;
-
-       file = secretmem_file_create(flags);
-       if (IS_ERR(file)) {
-               err = PTR_ERR(file);
-               goto err_put_fd;
-       }
-
-       fd_install(fd, file);
-       return fd;
-
-err_put_fd:
-       put_unused_fd(fd);
-       return err;
+       return FD_ADD(flags & O_CLOEXEC, secretmem_file_create(flags));
 }
 
 static int secretmem_init_fs_context(struct fs_context *fc)