mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 07:34:12 +08:00
xfs: Check error during inode btree iteration in xfs_bulkstat()
xfs_bulkstat() doesn't check error return from xfs_btree_increment(). In case of specific fs corruption that could result in xfs_bulkstat() entering an infinite loop because we would be looping over the same chunk over and over again. Fix the problem by checking the return value and terminating the loop properly. Coverity-id: 1231338 cc: <stable@vger.kernel.org> Signed-off-by: Jan Kara <jack@suse.cz> Reviewed-by: Jie Liu <jeff.u.liu@gmail.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
parent
a6bbce54ef
commit
7a19dee116
@ -474,6 +474,10 @@ xfs_bulkstat(
|
||||
*/
|
||||
agino = r.ir_startino + XFS_INODES_PER_CHUNK;
|
||||
error = xfs_btree_increment(cur, 0, &tmp);
|
||||
if (error) {
|
||||
end_of_ag = 1;
|
||||
goto del_cursor;
|
||||
}
|
||||
cond_resched();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user