btrfs: fix fscrypt name leak after failure to join log transaction
authorFilipe Manana <fdmanana@suse.com>
Tue, 20 Dec 2022 11:13:33 +0000 (11:13 +0000)
committerDavid Sterba <dsterba@suse.com>
Tue, 20 Dec 2022 18:43:47 +0000 (19:43 +0100)
commitfee4c19937439693f2420a916169d08e88576e8e
treec8a450dc24e2ae807e60be66ceba47ee17d01add
parente7fc357ec03ee109da503af0dd31bbf68514e481
btrfs: fix fscrypt name leak after failure to join log transaction

When logging a new name, we don't expect to fail joining a log transaction
since we know at least one of the inodes was logged before in the current
transaction. However if we fail for some unexpected reason, we end up not
freeing the fscrypt name we previously allocated. So fix that by freeing
the name in case we failed to join a log transaction.

Fixes: ab3c5c18e8fa ("btrfs: setup qstr from dentrys using fscrypt helper")
Reviewed-by: Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/tree-log.c