fs/affs: release old buffer head on error path

commit 70779b897395b330ba5a47bed84f94178da599f9 upstream.

The reference count of the old buffer head should be decremented on path
that fails to get the new buffer head.

Fixes: 6b4657667b ("fs/affs: add rename exchange")
CC: stable@vger.kernel.org # 4.14+
Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Pan Bian 2021-01-20 00:51:13 -08:00 committed by Greg Kroah-Hartman
parent df2d431a1e
commit 885a2d24c2

View File

@ -460,8 +460,10 @@ affs_xrename(struct inode *old_dir, struct dentry *old_dentry,
return -EIO;
bh_new = affs_bread(sb, d_inode(new_dentry)->i_ino);
if (!bh_new)
if (!bh_new) {
affs_brelse(bh_old);
return -EIO;
}
/* Remove old header from its parent directory. */
affs_lock_dir(old_dir);