]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
btrfs: free btrfs_path before copying subvol info to userspace
authorAnand Jain <anand.jain@oracle.com>
Thu, 10 Nov 2022 06:06:31 +0000 (11:36 +0530)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 14 Dec 2022 13:00:31 +0000 (14:00 +0100)
commit 013c1c5585ebcfb19c88efe79063d0463b1b6159 upstream.

btrfs_ioctl_get_subvol_info() frees the search path after the userspace
copy from the temp buffer @subvol_info. This can lead to a lock splat
warning.

Fix this by freeing the path before we copy it to userspace.

CC: stable@vger.kernel.org # 4.19+
Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit d88bf6be02defd763e919440d313df190851db72)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
fs/btrfs/ioctl.c

index ce669ed21d5463060507b3bfdcaf96f734a3e503..d9ff0697132b90df2140b58a0ecbe93b78c110bd 100644 (file)
@@ -2788,6 +2788,8 @@ static int btrfs_ioctl_get_subvol_info(struct file *file, void __user *argp)
                }
        }
 
+       btrfs_free_path(path);
+       path = NULL;
        if (copy_to_user(argp, subvol_info, sizeof(*subvol_info)))
                ret = -EFAULT;