xfs: fix quotacheck dquot id overflow infinite loop
commit cfaf2d034360166e569a4929dd83ae9698bed856 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
01bc132048
commit
81e27c94f9
@ -111,6 +111,9 @@ restart:
|
||||
skipped = 0;
|
||||
break;
|
||||
}
|
||||
/* we're done if id overflows back to zero */
|
||||
if (!next_index)
|
||||
break;
|
||||
}
|
||||
|
||||
if (skipped) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user