mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
ocfs2: correct return value of ocfs2_local_free_info()
[ Upstream commit d32840ad4a ]
Now in ocfs2_local_free_info(), it returns 0 even if it actually fails.
Though it doesn't cause any real problem since the only caller
dquot_disable() ignores the return value, we'd better return correct as it
is.
Link: https://lkml.kernel.org/r/20230528132033.217664-1-joseph.qi@linux.alibaba.com
Signed-off-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Cc: Mark Fasheh <mark@fasheh.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Joseph Qi <jiangqi903@gmail.com>
Cc: Changwei Ge <gechangwei@live.cn>
Cc: Gang He <ghe@suse.com>
Cc: Jun Piao <piaojun@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Stable-dep-of: 5f3fd772d152 ("ocfs2: fix slab-use-after-free due to dangling pointer dqi_priv")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ad9ec26aba
commit
18a1cd923b
@@ -815,7 +815,7 @@ static int ocfs2_local_free_info(struct super_block *sb, int type)
|
||||
struct ocfs2_quota_chunk *chunk;
|
||||
struct ocfs2_local_disk_chunk *dchunk;
|
||||
int mark_clean = 1, len;
|
||||
int status;
|
||||
int status = 0;
|
||||
|
||||
iput(oinfo->dqi_gqinode);
|
||||
ocfs2_simple_drop_lockres(OCFS2_SB(sb), &oinfo->dqi_gqlock);
|
||||
@@ -857,17 +857,14 @@ static int ocfs2_local_free_info(struct super_block *sb, int type)
|
||||
oinfo->dqi_libh,
|
||||
olq_update_info,
|
||||
info);
|
||||
if (status < 0) {
|
||||
if (status < 0)
|
||||
mlog_errno(status);
|
||||
goto out;
|
||||
}
|
||||
|
||||
out:
|
||||
ocfs2_inode_unlock(sb_dqopt(sb)->files[type], 1);
|
||||
brelse(oinfo->dqi_libh);
|
||||
brelse(oinfo->dqi_lqi_bh);
|
||||
kfree(oinfo);
|
||||
return 0;
|
||||
return status;
|
||||
}
|
||||
|
||||
static void olq_set_dquot(struct buffer_head *bh, void *private)
|
||||
|
||||
Reference in New Issue
Block a user