xfs: ensure logflagsp is initialized in xfs_bmap_del_extent_real
authorJiachen Zhang <zhangjiachen.jaycee@bytedance.com>
Tue, 5 Dec 2023 05:58:58 +0000 (13:58 +0800)
committerChandan Babu R <chandanbabu@kernel.org>
Thu, 7 Dec 2023 09:27:14 +0000 (14:57 +0530)
commite6af9c98cbf0164a619d95572136bfb54d482dd6
tree5328e0cd5cf1759b00452483dd65247d21b0f69f
parent08e54ca42d6a0d88709a1be38eb95843142b5101
xfs: ensure logflagsp is initialized in xfs_bmap_del_extent_real

In the case of returning -ENOSPC, ensure logflagsp is initialized by 0.
Otherwise the caller __xfs_bunmapi will set uninitialized illegal
tmp_logflags value into xfs log, which might cause unpredictable error
in the log recovery procedure.

Also, remove the flags variable and set the *logflagsp directly, so that
the code should be more robust in the long run.

Fixes: 1b24b633aafe ("xfs: move some more code into xfs_bmap_del_extent_real")
Signed-off-by: Jiachen Zhang <zhangjiachen.jaycee@bytedance.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
fs/xfs/libxfs/xfs_bmap.c