]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
btrfs: send: return -ENAMETOOLONG when attempting a path that is too long
authorFilipe Manana <fdmanana@suse.com>
Wed, 5 Feb 2025 13:09:25 +0000 (13:09 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2025 12:37:56 +0000 (14:37 +0200)
commitce8d1993b122e8ed754a899ff04a3a9599c50e30
treeafb9c765fa587b33e0ee529e8445e486c9aa0ada
parent0175d448b2f8d701f7a0578a04dad5538f1284fd
btrfs: send: return -ENAMETOOLONG when attempting a path that is too long

[ Upstream commit a77749b3e21813566cea050bbb3414ae74562eba ]

When attempting to build a too long path we are currently returning
-ENOMEM, which is very odd and misleading. So update fs_path_ensure_buf()
to return -ENAMETOOLONG instead. Also, while at it, move the WARN_ON()
into the if statement's expression, as it makes it clear what is being
tested and also has the effect of adding 'unlikely' to the statement,
which allows the compiler to generate better code as this condition is
never expected to happen.

Signed-off-by: Filipe Manana <fdmanana@suse.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/send.c