mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
fs/affs: release old buffer head on error path
commit70779b8973upstream. 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:
committed by
Greg Kroah-Hartman
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);
|
||||||
|
|||||||
Reference in New Issue
Block a user