btrfs: free btrfs_path before copying inodes to userspace
authorAnand Jain <anand.jain@oracle.com>
Thu, 10 Nov 2022 06:06:28 +0000 (11:36 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Dec 2022 10:28:38 +0000 (11:28 +0100)
commit6b4544a13179ed2bdc125b383984b4dacc638e04
tree9a97a5a9c9726ef0dc5c618f1d83bf67d40af0f6
parentc7ae3becee72904af2eb151a905600731b289440
btrfs: free btrfs_path before copying inodes to userspace

[ Upstream commit 418ffb9e3cf6c4e2574d3a732b724916684bd133 ]

btrfs_ioctl_logical_to_ino() frees the search path after the userspace
copy from the temp buffer @inodes. Which potentially can lead to a lock
splat.

Fix this by freeing the path before we copy @inodes 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: Sasha Levin <sashal@kernel.org>
fs/btrfs/ioctl.c