forked from TencentOS/TencentOS-kernel
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: 6b4657667ba0 ("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
792dbe9540
commit
8484ece8db
|
|
@ -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