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
b2b5c3aec8
commit
3e9b85cabe
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user