mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 23:58:05 +00:00
xfs: fix quotacheck dquot id overflow infinite loop
If a dquot has an id of U32_MAX, the next lookup index increment overflows the uint32_t back to 0. This starts the lookup sequence over from the beginning, repeats indefinitely and results in a livelock. Update xfs_qm_dquot_walk() to explicitly check for the lookup overflow and exit the loop. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
parent
10479e2dea
commit
cfaf2d0343
1 changed files with 3 additions and 0 deletions
|
@ -111,6 +111,9 @@ xfs_qm_dquot_walk(
|
|||
skipped = 0;
|
||||
break;
|
||||
}
|
||||
/* we're done if id overflows back to zero */
|
||||
if (!next_index)
|
||||
break;
|
||||
}
|
||||
|
||||
if (skipped) {
|
||||
|
|
Loading…
Reference in a new issue