diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2021-06-28 13:14:50 +0200 |
---|---|---|
committer | Andreas Gruenbacher <agruenba@redhat.com> | 2021-06-28 14:30:00 +0200 |
commit | 5d49d3508b3c67201bd3e1bf7f4ef049111b7051 (patch) | |
tree | e42ddf6deaaff608671bfe778d2016e3e6dad8f9 /fs/gfs2 | |
parent | gfs2: Fix underflow in gfs2_page_mkwrite (diff) | |
download | linux-5d49d3508b3c67201bd3e1bf7f4ef049111b7051.tar.xz linux-5d49d3508b3c67201bd3e1bf7f4ef049111b7051.zip |
gfs2: Fix error handling in init_statfs
On an error path, init_statfs calls iput(pn) after pn has already been put.
Fix that by setting pn to NULL after the initial iput.
Fixes: 97fd734ba17e ("gfs2: lookup local statfs inodes prior to journal recovery")
Cc: stable@vger.kernel.org # v5.10+
Reported-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'fs/gfs2')
-rw-r--r-- | fs/gfs2/ops_fstype.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index 826f77d9cff5..5f4504dd0875 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c @@ -687,6 +687,7 @@ static int init_statfs(struct gfs2_sbd *sdp) } iput(pn); + pn = NULL; ip = GFS2_I(sdp->sd_sc_inode); error = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &sdp->sd_sc_gh); |