]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
spufs: convert spufs_gang_open() to FD_PREPARE()
authorChristian Brauner <brauner@kernel.org>
Sun, 23 Nov 2025 16:33:52 +0000 (17:33 +0100)
committerChristian Brauner <brauner@kernel.org>
Fri, 28 Nov 2025 11:42:35 +0000 (12:42 +0100)
Link: https://patch.msgid.link/20251123-work-fd-prepare-v4-34-b6efa1706cfd@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
arch/powerpc/platforms/cell/spufs/inode.c

index 1953223937094bf29566e548c36c9df28852de66..78c4b6ce5f136c6f78e176011f52d584f537b8b2 100644 (file)
@@ -497,26 +497,15 @@ static const struct file_operations spufs_gang_fops = {
 
 static int spufs_gang_open(const struct path *path)
 {
-       int ret;
-       struct file *filp;
-
-       ret = get_unused_fd_flags(0);
-       if (ret < 0)
-               return ret;
-
        /*
         * get references for dget and mntget, will be released
         * in error path of *_open().
         */
-       filp = dentry_open(path, O_RDONLY, current_cred());
-       if (IS_ERR(filp)) {
-               put_unused_fd(ret);
-               return PTR_ERR(filp);
-       }
-
-       filp->f_op = &spufs_gang_fops;
-       fd_install(ret, filp);
-       return ret;
+       FD_PREPARE(fdf, 0, dentry_open(path, O_RDONLY, current_cred()));
+       if (fdf.err)
+               return fdf.err;
+       fd_prepare_file(fdf)->f_op = &spufs_gang_fops;
+       return fd_publish(fdf);
 }
 
 static int spufs_create_gang(struct inode *inode,