Message ID | 20210120085113.118984-1-bianpan2016@163.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fs/affs: release old buffer head on error path | expand |
On Wed, Jan 20, 2021 at 12:51:13AM -0800, Pan Bian wrote: > 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") > Signed-off-by: Pan Bian <bianpan2016@163.com> Thanks, added to affs branch. The fix is not that urgent for 5.11 so I'll send it for the 5.12 merge window. I've added the stable tag so it'll propagate to 4.14+.
diff --git a/fs/affs/namei.c b/fs/affs/namei.c index 41c5749f4db7..5400a876d73f 100644 --- a/fs/affs/namei.c +++ b/fs/affs/namei.c @@ -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);
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") Signed-off-by: Pan Bian <bianpan2016@163.com> --- fs/affs/namei.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)