mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 01:50:54 +07:00
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:
parent
df2d431a1e
commit
885a2d24c2
@ -460,8 +460,10 @@ affs_xrename(struct inode *old_dir, struct dentry *old_dentry,
|
|||||||
return -EIO;
|
return -EIO;
|
||||||
|
|
||||||
bh_new = affs_bread(sb, d_inode(new_dentry)->i_ino);
|
bh_new = affs_bread(sb, d_inode(new_dentry)->i_ino);
|
||||||
if (!bh_new)
|
if (!bh_new) {
|
||||||
|
affs_brelse(bh_old);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
}
|
||||||
|
|
||||||
/* Remove old header from its parent directory. */
|
/* Remove old header from its parent directory. */
|
||||||
affs_lock_dir(old_dir);
|
affs_lock_dir(old_dir);
|
||||||
|
Loading…
Reference in New Issue
Block a user